gpt4 book ai didi

android - ListView 的 setOnClickListener 不起作用

转载 作者:IT王子 更新时间:2023-10-28 23:34:08 25 4
gpt4 key购买 nike

所以我试图为我的 ListView 设置一个 setOnClickListener 但是当我尝试时由于某种原因它导致我的程序崩溃......我是对编程很陌生,所以当涉及到故障排除时,我真的无能为力:(我的代码在下面,所以任何关于可能出错的想法都会非常有帮助:

public class HomePageActivity extends Activity {
//ListView that holds the items
ListView lstTest;

//Array Adapter that holds the ArrayList and displays the items on the ListView
AlertsAdapter arrayAdapter;

//List that hosts the items
ArrayList<Alerts> alrts = null;

/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.homepage);

//Initialize the ListView
lstTest = (ListView)findViewById(R.id.lstText);

//Initialize the ArrayList
alrts = new ArrayList&lt;Alerts&gt;();

//Initialize the array adapter
arrayAdapter = new AlertsAdapter(HomePageActivity.this, R.layout.listitems,alrts);

//Set the above adapter as the adapter of choice for our list
lstTest.setAdapter(arrayAdapter);

lstTest.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(
HomePageActivity.this,
PromotionActivity.class
);
startActivity(intent);
}
});
//... ... ...
}
}

有什么想法吗?我被卡住了:(

编辑:从 ddms 发布错误日志文件:

08-04 04:14:26.351: ERROR/AndroidRuntime(8882): FATAL EXCEPTION: main
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): java.lang.RuntimeException: Unable to start activity ComponentInfo{hypenyte.bdutcher.promopost/hypenyte.bdutcher.promopost.HomePageActivity}: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.os.Handler.dispatchMessage(Handler.java:99)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.os.Looper.loop(Looper.java:123)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at java.lang.reflect.Method.invokeNative(Native Method)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at java.lang.reflect.Method.invoke(Method.java:521)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at dalvik.system.NativeStart.main(Native Method)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): Caused by: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.widget.AdapterView.setOnClickListener(AdapterView.java:750)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at hypenyte.bdutcher.promopost.HomePageActivity.onCreate(HomePageActivity.java:58)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
08-04 04:14:26.351: ERROR/AndroidRuntime(8882): ... 11 more

我看到它说我可能想要 setOnItemClickListener,这就是我最初编写的代码,但它无法正常工作,因为 eclipse 告诉我我的代码有问题。

最佳答案

你需要使用setOnItemClickListener()

然后new android.widget.AdapterView.OnItemClickListener()

不是new View.OnItemClickListener()

关于android - ListView 的 setOnClickListener 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com