1
,因爲我需要顯示的不僅僅是Fragment中的列表。 所以我選擇片段,而不是ListFragment,和我的佈局是什麼樣子在ListView中的Android自定義行無法接收onItemClick
<linearlayout...>
<TextView...>...<TextView/>
<Button...>...<Button/>
<ListView android:id = "@"+id/mylist" ...></ListView>
</linearylayout>
我implemnt「MyAdapter」延伸BaseAdapter,其中有getView像下面
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if(position == 0)
{
return categroyView("Team leader");
}
else if (position == 2)
{
return categroyView("Team memebers");
}
else
{
LayoutInflater inflater = context.getLayoutInflater();
View v = inflater.inflate(R.layout.row_group, null, false);
return v;
}
}
protected View categroyView(String text)
{
TextView txtView = new TextView(context);
txtView.setText(text);
return txtView;
}
事實證明,我可以當它的位置是0或2時(這可以看到我動態生成textView。 同時當它的位置不是0或2(我從XML返回充氣視圖時)我無法接收onItemClick
我見過一些關於如果自定義的行佈局有一些可點擊的項目(如按鈕)的討論,這種情況會發生,但即使我的行佈局只有一個textView,它仍然無法接收onItemClick。
p.s.
- 此外,我選擇Fragment而不是Activity來處理其他其他設計問題。
- 我知道我也可以在getView中添加v.setOnClickListene來幫助解決這個問題,但是如果我按下它,那麼該項目將不會突出顯示。
啊,這完美的作品!你拯救我的一天!謝謝dten!不,這不會很長。遇到麻煩意味着什麼?因爲我有其他listview有長列表...(但我使用viewholder重用視圖,是解決你的問題?) – Nohappy
嗯主要是:-)我發現的問題是長列表,有多種佈局,因爲轉換視圖不斷變化。如果你現在沒有問題,它會很好 - 可能 – dten
如果佈局(XML)沒有改變,該怎麼辦?我只是重複使用相同的佈局frome XML?這仍然會導致同樣的問題? – Nohappy