android - ListView item "don' t want be a selected"getSelectedItemPosition return -1

标签 android listview sdk selected

我想获取 ListView 的 SelectedItem 索引。我通过点击项目来选择项目。 OnItemClick 事件工作正常,但 getSelectedItemPosition() 返回 -1。

我做错了什么?

xml:

    <ListView
    android:id="@+id/lvAddEdtList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:choiceMode="singleChoice"
    android:drawSelectorOnTop="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:listSelector="?android:attr/listChoiceIndicatorSingle" />

在 Activity 中:

 lvAddEdtDel.setAdapter(namesList);
 lvAddEdtDel.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            lvAddEdtDel.setSelection(position);
            view.setSelected(true);

        }
    });

public void onClick(View v) {
if(lvAddEdtDel.getSelectedItemPosition() < 0 )
{ 
    Toast.makeText(getApplicationContext(), getString(R.string.ItemNotSelected),Toast.LENGTH_LONG).show();                          
}
});

抱歉我的英语不好

最佳答案

我自己解决了这个问题。 适配器的布局已选择:android.R.layout.simple_list_item_1;

在我的例子中,有必要选择:android.R.layout.simple_list_item_single_choice;

在触摸模式下必须使用 getCheckedItemPosition

关于android - ListView item "don' t want be a selected"getSelectedItemPosition return -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187603/

相关文章:

android - @Onclick android 注释?

android - Phonegap 如何在 Android 应用程序中下载和打开 pdf 文件

php - 如何将 AWS SDK 加载到 CakePHP 中?

java - Microsoft Project Online SDK API/REST API 支持

android - 使用 h264 编码器实现视频聊天

java - butterknife @OnClick 不工作

java - 自定义 ListView 适配器空对象引用

vb.net - 确定是否在 ListView 框中选择了一个项目

listview - flutter ListView 字母表索引

ios - Xamarin IOS Facebook SDK 登录按钮