Android:使用 ListAdapter 从 TextView 获取特定文本

Posted

技术标签:

【中文标题】Android:使用 ListAdapter 从 TextView 获取特定文本【英文标题】:Android: Getting a specific text from a TextView with a ListAdapter 【发布时间】:2015-03-13 04:50:45 【问题描述】:

我有一个ListView,每行有三个TextViews,它是从数据库中填充的。第一个 TextView 包含 _id。当我点击一个项目时,会弹出一个AlertDialog 询问我是否要删除该项目。如何从特定的TextView 中提取信息,以便相应地更新数据库?

这是我目前的代码 sn-p:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
      @Override
      public void onItemClick(AdapterView<?> parent, View view, final int position, long id) 
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setMessage("Delete this reminder?");
            builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
                public void onClick(DialogInterface dialog, int id) 
                    //I need the _id to remove the selected item.
                    db.deleteContact();
                
            );

            AlertDialog dialog = builder.create();
            dialog.show();
      
);

谢谢!

【问题讨论】:

【参考方案1】:

最简单的方法是从驱动适配器的数据库中获取信息。您已经有了被点击项目的位置和数据库中的数据。 另一种可能是在onClick方法中做

TextView tv = (TextView) view.findViewById(R.id.yourFirstTextView); 
String id = tv.getText().toString(); 

【讨论】:

以上是关于Android:使用 ListAdapter 从 TextView 获取特定文本的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 应用程序中使用 ListView 按字母顺序过滤 ListAdapter

Android:尝试在空对象引用上调用虚拟方法“void android.widget.ListView.setAdapter(android.widget.ListAdapter)”

使用 ListAdapter 将项目添加到 ListView

设置 ListAdapter 时 Android Java 应用程序崩溃

重复条目:android / support / v7 / recyclerview / extensions / ListAdapter.class [复制]

Android:v7 支持 lib 27.1.0 的编译错误“程序类型已存在”android.support.v7.recyclerview.extensions.ListAdapter