setOnClickListener ListView, не работающего

таким образом, я пытаюсь настроить setOnClickListener для своего ListView, но его порождение катастрофического отказа в моей программе по некоторым причинам, когда я пробую.. Я довольно плохо знаком с программированием так когда дело доходит до поиска и устранения неисправностей, я ничего не могу действительно сделать печально :( мой код ниже так любых идей о том, что могло быть неправильным, будет чрезвычайно полезно

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<Alerts>();

        //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, который является первоначально, что мне кодировали его как, но что это не будет работать, так как затмение сказало мне, что мой код был неверным с ним

18
задан dootcher 4 August 2010 в 04:20
поделиться

1 ответ

Вам нужно использовать setOnItemClickListener ()

, а затем новый android.widget.AdapterView.OnItemClickListener ()

не новый View.OnItemClickListener ()

50
ответ дан 30 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: