所以我有從mysql加載數據的列表視圖.. 它加載ID(知名度:消失),名稱,價格,..每個列表 我想要它,當我長時間點擊和上下文菜單顯示和我或項目單擊項目出來它會得到物品的ID發送到下一個activity..but煤礦只能得到listview..please的第一個ID幫我從列表視圖中獲取文本併發送到上下文菜單
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.all_products);
// Hashmap for ListView
productsList = new ArrayList<HashMap<String, String>>();
// Loading products in Background Thread
new LoadAllProducts().execute();
// Get listview
ListView lv = getListView();
registerForContextMenu(lv);
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Barang Masuk/Keluar");
menu.add(0, v.getId(), 0, "Masuk");
menu.add(0, v.getId(), 0, "Keluar");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle() == "Masuk") {
String pid = ((TextView) findViewById(R.id.pid)).getText()
.toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(),
galian_barang_masuk.class);
// sending pid to next activity
in.putExtra(TAG_PID, pid);
// starting new activity and expecting some response back
startActivityForResult(in, 100);
} else if (item.getTitle() == "Keluar") {
String pid = ((TextView) findViewById(R.id.pid)).getText()
.toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(),
galian_barang_keluar.class);
// sending pid to next activity
in.putExtra(TAG_PID, pid);
// starting new activity and expecting some response back
startActivityForResult(in, 100);
} else {
return false;
}
return true;
}
所以,當我點擊「巴西「從列表視圖,然後右鍵菜單顯示出來.. 它去的列表視圖數據一號‘海神廟’
http://imageshack.com/a/img835/2201/jrth.jpg
http://imageshack.com/a/img600/7562/ftzl.jpg
,如果我在列表視圖使用直接點擊onitem click..its工作與此代碼
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String pid = ((TextView) view.findViewById(R.id.pid)).getText()
.toString();
Intent in = new Intent(getApplicationContext(),
galian_barang_masuk.class);
in.putExtra(TAG_PID, pid);
startActivityForResult(in, 100);
}
});
但是當我使用它的背景下如何error..dunno ..
編輯:我已經找到了它..我做了新的textview ..我通過長時間點擊加載ID並將其保存到新的文本視圖
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int pos, long id) {
// getting values from selected ListItem
String pid = ((TextView) view.findViewById(R.id.pid)).getText()
.toString();
x = (TextView) findViewById(R.id.x);
x.setText(pid);
return false;
}
});
裏面後onContextItemSelected我改變in.putExtra(TAG_PID, pid)
到in.putExtra(TAG_PID, x.getText().toString());
新的TextView,我用它來收集各列表項的ID我長的點擊..
thx for ur answer..but error at list.get(info.position);在名單上。應列出。指向ListView lv = getListView(); ..?如果我使用lv.get(info.position);仍然相同.. –