2016-07-11 88 views
-2

我在product_namecode上創建了自定義列表視圖並設置了文本。Android:如何從列表視圖中獲取特定數據

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = context.getLayoutInflater(); 
    View listViewItem = inflater.inflate(R.layout.product_list_item, null, true); 
    TextView txtProduct = (TextView) listViewItem.findViewById(R.id.textProduct); 
    TextView txtCode = (TextView) listViewItem.findViewById(R.id.textCode); 

    txtProduct.setText(product_name[position]); 
    txtCode.setText(code[position]); 

    return listViewItem; 
} 

如何設置OnItemClickListener從列表視圖中獲得各自的數據並傳遞到另一個活動。

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { 

    } 
}); 

回答

0
Data data=listView.getAdapter().getPosition(arg2); 
Intent intent=new Intent(this,newActivity.class); 
intent.putExtra("Key",data); 
startActivity(intent); 
+0

與此我傳遞產品名稱和代碼或只有一個。我怎樣才能分開它? – Jing

+0

intent.putExtra(「keyForProduct」,product_name); intent.putExtra(「keyForCode,代碼); – CodeCody

0

您CustomListViewAdapter你應該有這樣的事情:

private final List<Object> mList; 

//public constructor, random name 
public MyCustomListViewAdapter(Context c, List<Object> list) { 
    context = c; 
    this.mList = list; 
} 

@Override 
public int getCount() { 
    return mList.size(); 
} 

@Override 
public Object getItem(int position) { 
    return mList.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return mList.get(position).getId(); 
} 

從列表中檢索數據時,您只需撥打

listView.getAdapter().getItem(position); 

,如果將返回您的自定義對象在您要發送的位置。

相關問題