我创建了一个自定义ListView,ListView中的每个Item都有3个TextView,现在我想更改位置2的项目TextView的内容(只是示例)。我怎么能这样做?
谢谢!
编辑:
以下是我自定义列表视图项目的布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxHeight="80dp"
android:maxWidth="80dp"
android:layout_marginRight="4dp"
android:id="@+id/image"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:textSize="14dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title Video"
/>
<TextView
android:id="@+id/time"
android:textSize="14dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title Video"
/>
<TextView
android:id="@+id/viewcount"
android:textSize="14dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="View Count"
/>
<TextView
android:visibility="invisible"
android:id="@+id/rtsp"
android:textSize="14dp"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="View Count"
/>
</LinearLayout>
</LinearLayout>
我使用此代码获取项目:
final ListView list_playlist=(ListView)findViewById(R.id.list2);
LinearLayout rowLayout =(LinearLayout)list_playlist.getItemAtPosition(list_playlist.getFirstVisiblePosition()+current_song);
ImageView image =(ImageView)rowLayout.getChildAt(0);
image.setBackgroundResource(R.drawable.play_song_list);
但它不起作用!
答案 0 :(得分:0)
假设列表中项目的行布局包含在带有3个textviews的线性布局中。然后,如果要访问列表中第二项的第二个文本视图,这将是代码。
LinearLayout rowLayout = (LinearLayout)getListView().getItemAtPosition(1);
TextView secondTextView = (TextView)rowLayout.getChildAt(1);
secondTextView.setText("New Text");