2012-05-22 40 views
2

我爲我的應用程序創建了一個自定義列表視圖項目。假設對於任何點擊evet我需要列表視圖中的一個特定的孩子,我怎麼能得到它?獲取自定義列表視圖的子項目

任何鏈接或任何幫助表示讚賞。

+0

看到這個答案http://stackoverflow.com/a/10107068/1289716 – MAC

回答

1

假設你有一個自定義列表視圖(比如lv)。然後實現如下一個onItemClickListener -

lv.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View view, int position, 
       long id) { 
      // Let's suppose the custom list View has one textview 
      TextView tv = (TextView) lv.getChildAt(position); 
     } 
    }); 

這裏位置可以幫助你識別哪些已經點擊用戶的項目。對於你想要使用的每件產品,你都可以用類似的方式獲得。

0

您可以從後備適配器獲取子數據項。

只需使用ListView.getAdapter,然後ArrayAdapter.getItem與您的OnItemClickListener(假設您已設置此項)輸入的位置相同。

如果更改了數據項,請記得在適配器上調用notifyDatasetChanged以顯示更改。儘量不要直接操縱視圖,因爲這會導致視圖回收問題。

0
LIstView hv10; 

hv10.setAdapter(new ListAdapter(getApplicationContext(), R.id.hv10, bigList.get(i))); 

RelativLayout rlv; 

rlv.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     text.setText("on click"); 
    } 

} 
+0

你可能想要對代碼進行一些解釋。 – Ian