我创建了4个文本视图,并在其中存储字符串。其中一个有链接的字符串,它是隐藏的。这些是由ListAdaptor添加到ListView。在运行时,它看起来像这样。
当我单击相邻的Textview时,我需要能够使用隐藏的Textview中的文本。我为要查看的Textview设置了onClick适配器。如何在隐藏的邻近Textview中获取文本?我尝试使用标签,但这个概念让我不知所措。
我的布局资源:list_item.xml
(已裁剪):
<TextView
android:id="@+id/title"
android:onClick="onClick"
android:tag="name"
/>
<TextView
android:id="@+id/hash"
android:visibility="gone"
/>
<TextView
android:id="@+id/size"
/>
<TextView
android:id="@+id/link"
android:tag="link"
android:visibility="gone"
/>
活动布局:activity_main.xml
。 Full Code
<RelativeLayout>
<ListView android:id="@+id/list"/>
</RelativeLayout>
我Activity code的一部分:
public class MainActivity extends AppCompatActivity {
public void onClick(View v) {
String Msg = ((TextView) v).getText().toString();
// TextView txtTitle = (TextView) v.getTag();
// String Me = (String) v.getTag();
// TextView txtlink = (TextView)v.getTag("link");
String Me = txtlink.getText().toString();
Toast.makeText(MainActivity.this, "CLICKED" + Msg + Me,
Toast.LENGTH_LONG).show();
}
当我点击带有id标题的TextView时,我需要获取带有id链接的TextView文本。
这就是我创建ListView的方式:
lv = (ListView) findViewById(R.id.list);
ListAdapter adapter = new SimpleAdapter(
MainActivity.this, showList,
R.layout.list_item, new String[]{"title", "url", "hash",
"size"}, new int[]{R.id.title, R.id.link,R.id.hash, R.id.size});
lv.setAdapter(adapter);
完整代码: MainActivity
答案 0 :(得分:1)
添加OnItemSelectedListener
并从代码和xml文件中删除onClick方法。
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, showList.get(position), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});