实现Activity的ListView onItemClick不起作用

时间:2011-11-22 17:03:36

标签: java android listview android-listview

我有一个listview扩展Activity并使用自定义适配器,因为我想在listview上使用图标和文本。

String[] options = res.getStringArray(R.array.menu_title);
    TypedArray icons = res.obtainTypedArray(R.array.menu_icon);
    ImageAndTextAdapter iadapter = new ImageAndTextAdapter(ctx, R.layout.row, options, icons);
    MenuList.setAdapter(iadapter);

然后我使用setOnItemClickListener使listview可单击但失败。

MenuList.setOnItemClickListener(new ListView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
            Intent myIntent = new Intent(Menu.this, Revision.class);    
            Menu.this.startActivity(myIntent);
            }
    }); 

这是logcat:

  

11-22 16:55:17.419:E / AndroidRuntime(2056):致命异常:主要   11-22 16:55:17.419:E / AndroidRuntime(2056):   java.lang.ClassCastException:android.widget.LinearLayout 11-22   16:55:17.419:E / AndroidRuntime(2056):at   cs.ucl.cw.Menu $ 1.onItemClick(Menu.java:54)11-22 16:55:17.419:   E / AndroidRuntime(2056):at   android.widget.AdapterView.performItemClick(AdapterView.java:284)   11-22 16:55:17.419:E / AndroidRuntime(2056):at   android.widget.ListView.performItemClick(ListView.java:3513)11-22   16:55:17.419:E / AndroidRuntime(2056):at   android.widget.AbsListView $ PerformClick.run(AbsListView.java:1849)   11-22 16:55:17.419:E / AndroidRuntime(2056):at   android.os.Handler.handleCallback(Handler.java:587)11-22   16:55:17.419:E / AndroidRuntime(2056):at   android.os.Handler.dispatchMessage(Handler.java:92)11-22   16:55:17.419:E / AndroidRuntime(2056):at   android.os.Looper.loop(Looper.java:130)11-22 16:55:17.419:   E / AndroidRuntime(2056):at   android.app.ActivityThread.main(ActivityThread.java:3835)11-22   16:55:17.419:E / AndroidRuntime(2056):at   java.lang.reflect.Method.invokeNative(Native Method)11-22   16:55:17.419:E / AndroidRuntime(2056):at   java.lang.reflect.Method.invoke(Method.java:507)11-22 16:55:17.419:   E / AndroidRuntime(2056):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:847)   11-22 16:55:17.419:E / AndroidRuntime(2056):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)11-22   16:55:17.419:E / AndroidRuntime(2056):at   dalvik.system.NativeStart.main(原生方法)

目的: 可点击的列表视图,可以显示其他活动。谢谢你们

1 个答案:

答案 0 :(得分:0)

您的问题似乎可能在Revision.class中。没有看到那些代码,我无法肯定地说,但Logcat指向的部分将是:

 java.lang.ClassCastException: android.widget.LinearLayout