安卓:列表视图选中项目为-1

6

当我尝试获取已经填充的列表视图上所选项的位置时,我得到了一个值为-1的结果。

list.setOnItemClickListener
(
   new AdapterView.OnItemClickListener() 
   {
       public void onItemClick(AdapterView adapterView, View view,int arg2, long arg3)
       {
          int selectedPosition = adapterView.getSelectedItemPosition();
          ShowAlert(String.valueOf(selectedPosition));
       }
   }
);

为了填充我的列表视图,我使用以下代码:
SimpleAdapter mSchedule = new SimpleAdapter(
          this, 
          mylist, 
          R.layout.listviewtest,
          new String[] {"test1", "test2", "test3"}, 
          new int[] {R.id.TextView_websitename, R.id.TextView_keywords, R.id.TextView_backlink});

有什么想法吗?

提前感谢。

最好的问候。

Jose。

1个回答

22

这意味着没有选择任何行。该文档表明,getSelectedItemPosition()返回:

位置(从0开始)为int,或者如果没有选择任何内容则为INVALID_POSITION。

INVALID_POSITION-1

请注意,您正在从OnClickListener中调用getSelectedItemPosition()。点击和选择不一定相关。选择来自使用D-pad或轨迹球导航列表内容。如果用户在屏幕上轻击(或在模拟器中单击),则将不再选择任何内容,但仍会出现单击事件。

您展示的arg2值是列表中所选项目的位置。


非常棒的答案,非常有用,非常感谢。祝好。 Jose。 - Sosi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接