是否可以从ListView中的行中的特定 TextView元素中检索文本,其中每行包含其具有4个不同TextView的拥有 Layout.xml?一行看起来像 - > | TextView1 TextView2 TextView3 TextView4 |。我的ListView的行数取决于填充ListView的SQLite数据库的行数。例如:如果我单击第1行,我希望TextView1用于此行,如果我单击第2行,我希望TextView1用于此特定行。
我希望你明白,英语不是我的母语。
答案 0 :(得分:1)
我不确定我是否理解你,但我认为你想在ListView中添加AdapterView.OnItemClickListener
。实现只有一个方法的侦听器:
onItemClick(AdapterView<?> parent, View view, int position, long id)
在您的情况下,view
将是用户点击的行,item是适配器中行的位置。
要检索行的文本,首先应该使用类似
的TextView(如果您的视图是容器) TextView textView = (TextView) view.findViewById(R.id.your_textview_id);
然后通过调用textView.getText()
希望有所帮助
答案 1 :(得分:0)
如果您正在使用基于'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();
}
});
}