【问题标题】:OnItemSelectedListener is not workingOnItemSelectedListener 不工作
【发布时间】:2015-05-03 02:05:10
【问题描述】:

我刚刚为列表视图中的复选框制作了一个非常简单的监听器,但唯一的问题是当我选择这些项目中的任何一个时,没有弹出 Toast。

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(), "Click works!", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

这是怎么回事?

【问题讨论】:

  • 尝试使用活动上下文。
  • 请发布您的活动布局
  • @Android777 但如何?
  • @Mattia 布局正在使用 Main.java 文件生成。所以没有有效的 .xml 文件
  • 不确定它是否有帮助,但以前当我将 ImageButton 放入列表视图项时,我遇到了类似的问题。我通过将“android:descendantFocusability="blocksDescendants"”添加到列表视图项布局来解决问题。在你的情况下,你可能会尝试这个。与这个话题相关的问题不少:stackoverflow.com/questions/17502317/…

标签: java android


【解决方案1】:

将这两行添加到您的复选框

 android:focusable="false" 
 android:focusableInTouchMode="false"

如果您想详细了解问题,here 和 here 是很好的场景解释

【讨论】:

  • 我将 setItemsCanFocus 设置为 false,但还没有为 inTouchMode 做这件事。完成后我会分享结果。
猜你喜欢
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多