我試圖通過將第二個textview的「可見」更改爲「可見」來更新列表視圖中的單個行(兩個textview)。更新列表視圖中的單個行以顯示隱藏的文本視圖
下面是自定義佈局的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/userlistlayout"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000000"/>
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" android:visibility="gone"/>
我使用的是arrayadapter將數據從到ListView字符串[]結合。這是完美的。我遇到問題的地方是將更改推回屏幕。
這裏是測試代碼,我有我的陣列適配器和嘗試設置可見性在單行的第二個textview。
searchResults = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.userlist, R.id.textView1,names);
searchResults.setAdapter(adapter);
//all the code above this point works perfectly to populate the listview (textview1)
with the names passed in from the names string[]
LinearLayout hold = (LinearLayout) adapter.getView(2, null, null);
TextView hold2 = (TextView) hold.findViewById(R.id.textView2);
hold2.setVisibility(TextView.VISIBLE);
adapter.notifyDataSetChanged();
searchResults.invalidateViews();
此代碼不拋出任何類型的錯誤,但是,我沒有得到的列表視圖任何更新。我不知道我在做什麼錯,或者我缺少什麼步驟來獲取對hold2進行的可見性更改,將其推回到適配器/列表視圖中,並在屏幕上更新,從而使該特定行上的第二個textview可見。
一旦我得到這個工作,我想觸發它onclick。
任何幫助將不勝感激。