【问题标题】:ListView onItemClick which implements Activity is not working实现 Activity 的 ListView onItemClick 不起作用
【发布时间】:2012-01-04 01:37:04
【问题描述】:

我有一个 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 使列表视图可点击但失败。

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);
            }
    }); 

这里是日志:

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):在 cs.ucl.cw.Menu$1.onItemClick(Menu.java:54) 11-22 16:55:17.419: E/AndroidRuntime(2056):在 android.widget.AdapterView.performItemClick(AdapterView.java:284) 11-22 16:55:17.419: E/AndroidRuntime(2056): 在 android.widget.ListView.performItemClick(ListView.java:3513) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 android.widget.AbsListView$PerformClick.run(AbsListView.java:1849) 11-22 16:55:17.419: E/AndroidRuntime(2056): 在 android.os.Handler.handleCallback(Handler.java:587) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 android.os.Handler.dispatchMessage(Handler.java:92) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 android.os.Looper.loop(Looper.java:130) 11-22 16:55:17.419: E/AndroidRuntime(2056):在 android.app.ActivityThread.main(ActivityThread.java:3835) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 java.lang.reflect.Method.invokeNative(Native Method) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 java.lang.reflect.Method.invoke(Method.java:507) 11-22 16:55:17.419: E/AndroidRuntime(2056):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 11-22 16:55:17.419: E/AndroidRuntime(2056): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 11-22 16:55:17.419:E/AndroidRuntime(2056):在 dalvik.system.NativeStart.main(Native Method)

目标: 可点击的列表视图,它会带来其他活动。谢谢大家

【问题讨论】:

    标签: java android listview android-listview


    【解决方案1】:

    看来您的问题实际上可能出在 Revision.class 中。如果没有看到该代码,我不能肯定地说,但 Logcat 中指向该代码的部分是:

     java.lang.ClassCastException: android.widget.LinearLayout
    

    【讨论】:

    • 谢谢,我看到了那条线,但不知道,因为 Eclipse 中的图形布局选项卡完美地显示它,没有错误。
    • 没问题!很高兴我能帮助你。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多