是否可以从 ListView 内一行中的特定TextView 元素中检索文本,其中每一行都包含自己的Layout.xml 和 4 个不同的 TextView?一行看起来像 --> | 文本视图1 文本视图2 文本视图3 文本视图4 |。我的 ListView 的行数取决于填充 ListView 的 SQLite 数据库的行数。例如:如果我单击第 1 行,我想要该行的 TextView1,如果我单击第 2 行,我想要该特定行的 TextView1。
我希望你明白,英语不是我的母语。
我不确定我是否理解你,但我认为你想在AdapterView.OnItemClickListener
你的 ListView 中添加一个。实现这个只有一个方法的监听器:
onItemClick(AdapterView<?> parent, View view, int position, long id)
在您的情况下view
,将是用户单击的行,而 item 是适配器中该行的位置。
要检索行的文本,首先您应该获取 TextView(如果您的视图是容器),其中包含类似
TextView textView = (TextView) view.findViewById(R.id.your_textview_id);
然后通过调用来检索文本textView.getText()
希望能帮助到你
如果您使用的是基于“BaseAdapter”的适配器,那么您需要为要在 getView() 方法中检索其内容的每个 TextView 添加一个 onClickListener:
private class ViewHolder
{
TextView Tv1;
TextView Tv2;
}
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null)
{
holder=new ViewHolder();
convertView = inflater.inflate(R.layout.yourXmlSource, null);
holder.tv1 = (TextView)convertView.findViewById(R.id.tv1);
holder.tv2 = (TextView)convertView.findViewById(R.id.tv2);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
//Code to fill your Rows from the database here
holder.tv1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Toast toast = Toast.makeText(v.getConext(), (TextView)v, Toast.LENGTH_LONG);
toast.show();
}
});
}