【问题标题】:Detecting Which item was Selected From a ListView检测从 ListView 中选择了哪个项目
【发布时间】:2012-05-03 21:36:59
【问题描述】:

我正在尝试获取从我的列表视图中选择的歌曲的标题,但我正在强制关闭。有什么想法吗?

    ArrayList<String>songtitle = new ArrayList<String>();

    //This is how i popluated sontitle//
   ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.song,songtitle);
    setListAdapter(adapter);

 protected void onListIemClick(ListView  , View v, int position, long id){
       super.onListItemClick(c, v, position, id);
        Object o = this.getListAdapter().getItem(position);
    String pen = o.toString();
        Toast.makeText(this, "You have chosen the color: " + " " + songtitle, Toast.LENGTH_LONG).show();

【问题讨论】:

  • 什么是歌名和选择?,贴出解释这些的代码。
  • 歌名变量是什么?基础清单?导致强制关闭的异常是什么?
  • 在 Eclipse 中使用 adb logcat、DDMS 或 DDMS 透视图检查 LogCat 并查看与“强制关闭”相关的堆栈跟踪。

标签: android listview click selected


【解决方案1】:
 protected void onListIemClick(ListView  , View v, int position, long id){
     Toast.makeText(this, "You have chosen the color: " + songtitle.get(position), Toast.LENGTH_LONG).show();
}

试试这个。

【讨论】:

  • 我已经把问题说得更清楚了,非常感谢您的帮助
  • 你能看到列表项吗?,看看我的回答。
【解决方案2】:

selection这里没有更新,应该根据position计算。你可能想要这样的东西:

    ((TextView)v).setText(text);

此外,songTitle 似乎是一个列表。您可能应该将其重命名为songTitles。检查该位置是否在您的列表范围内。你得到什么样的错误?

【讨论】:

  • 我没有收到错误它什么也没做我已经编辑了代码谢谢
猜你喜欢
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 2023-04-07
相关资源
最近更新 更多