2014-01-30 63 views
0

我有一個問題。獲取按鈕在列表視圖中的位置

我想要得到ButtonList View的位置。

在下面的圖片,當我點擊編輯或刪除按鈕,我只是想在List View其位置。

這怎麼可能?

這是我的Office管理屏幕。所有數據從我的網絡服務運行時獲得ListView

This is my Office Management Screen. All the data getting run-time from my web-service.

我利用這個得到列表視圖中的數據代碼 -


ListAdapter adapter = new SimpleAdapter(Office_Mgmt.this, officeList, R.layout.office_mgmt_list_model, new String[] { "office_name" }, new int[] { R.id.label}); 

setListAdapter(adapter); 
+0

你可以使用'setTag'設置位置到你的視圖 –

回答

2

您可以創建自定義的適配器,通過你的應用程序作爲參數的情況下,設置點擊:

listView.setAdapter(new PesquisaAdapter(this, anunciantescidades, this); 

然後,在你的適配器的構造函數,你將有一個OnClickListener以收到的參數this你通過:

public PesquisaAdapter(Context context, List<Anunciante> anunciantes, OnClickListener onClick1) 

在適配器的getView方法,你可以設置按鈕的onClickListener:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = inflater.inflate(R.layout.your_custom_layout, null); 
    Button btn = (Button) v.findViewById(R.id.yourbutton); 
    btn.setOnClickListener(onClick1); 
} 

在Java中,您可以實現onClickListener,然後做你想做的與你的按鈕:

@Override 
public void onClick(View v) { 
    if(yourbutton.getId() == v.getId()){     
     final int position = listView.getPositionForView((LinearLayout)v.getParent()); 
    } 
} 

所以,你必須在你點擊列表中的位置,並且可以管理點擊分別編輯和刪除。

希望它能幫助!

+0

您好先生,我的列表視圖位於office_management.xml中,編輯和刪除按鈕位於office_mgmt_list.xms中。所以我不能在我的java文件中爲按鈕創建OnClickListener。 –

+0

'final int position = listview1.getPositionForView((View)view.getParent());' –

+0

使用上面的代碼我的工作已經完成!!!!! –

0

實施onItemClick(AdapterView<?> parent, View view, int position, long id)爲ListView。 位置和視圖可以從處理程序中識別。您可以在適配器的getView方法內創建視圖時使用setTag設置其他信息,並在處理程序中檢索,然後在處理程序中驗證是否需要。

+0

但是當我點擊編輯或刪除按鈕時它工作嗎? –

+0

你的意思是,如果你點擊編輯它是否會工作?如果是的話 – gvmani

+0

我會試試... !!! –