Android:onListItemClick 未打开 .xml 文件

Posted

技术标签:

【中文标题】Android:onListItemClick 未打开 .xml 文件【英文标题】:Android: onListItemClick not opening up the .xml file 【发布时间】:2011-02-23 17:13:08 【问题描述】:

public void onListItemClick(ListView l, View v, int position, long id) 如果(位置 == 0) setContentView(R.layout.cuisine);

我有一个字符串数组,我正在使用上述方法尝试在单击时打开一个名为“cuisine”的新 xml 文件。但它总是失败!

我做对了吗,还是我做错了什么?

谢谢。

好的,通过查看网络上的类似问题,人们说让 onListItemClick() 开始一个新活动并使用该新活动打开新视图?

所以我做的是这个......

 protected void onListItemClick(ListView l, View v, int position, long id)

    Intent dundrumIntent = new Intent(v.getContext(), DundrumSelector.class);
    dundrumIntent.putExtra("position", position);
    startActivityForResult(dundrumIntent, 0);

然后

import android.app.Activity;

导入android.os.Bundle;

公共类 DundrumSelector 扩展 Activity @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);

    int position = getIntent().getExtras().getInt("position");

    if(position == 0)
        setContentView(R.layout.cuisine);
    

但我仍然遇到同样的问题。当我单击 listView 中的项目时,程序崩溃。是的,我已将活动添加到清单中。

有没有人解决这个问题,因为很多人似乎有同样的问题。

非常感谢。

【问题讨论】:

请使用 adb logcat 找出是什么异常导致程序崩溃并告诉我们 【参考方案1】:

好的,我搞定了。

我已经将 avd 改回了我设置的原始 avd,现在它似乎可以正常工作了。

由于某种原因,当我在 google avd 上使用它时它不起作用?

【讨论】:

也许他们有不同的 API 版本?在不知道发生了什么异常的情况下很难说出问题所在【参考方案2】:

您还没有在onListItemClick 中包含对 super 的调用

尝试制作第一行:super.onListItemClick(l,v,position,id);

【讨论】:

以上是关于Android:onListItemClick 未打开 .xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

Android ListView - onListItemClick 无法正常工作

ListFragment.onListItemClick() 未被调用;可能是由于导航抽屉

无法让 onListItemClick 为 ListActivity 中的一行运行

如何从 ListActivity 获取 onListItemClick 中的控件

实时动态填充 SQLite ListViews,在活动之间,使用 onListItemClicks/intents/other?

当我在列表中使用复选框时未调用列表项单击方法