我已经自定义了ListView
,其中包含:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="5dp">
<CheckedTextView
android:id="@+id/txt_lan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:textSize="25sp" /></LinearLayout>
我希望能够显示CheckedTextView
中的文字内容:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), (((TextView)CheckedTextView)view).getText().ToString(), Toast.LENGTH_SHORT).show();
因此,我认为,view包含对LinearLayout
的引用。如何访问CheckedTextView
中的文字?因为我的方式似乎不起作用
答案 0 :(得分:0)
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
CheckedTextView checkedTextView = (CheckedTextView)arg1.findViewById(R.id.checkedTextView1);
// do anything to checkedTextView now
checkedTextView.toggle();
}
了解如何使用参数arg1
,这应该有效!
答案 1 :(得分:0)
view
参数包含适配器创建的视图,它也应该包含您的自定义布局(see reference)。
所以你可以得到以这种方式检查(Checked)TextView的文本:
((TextView)view.findViewById(R.id.txt_lan)).getText().toString()