gpt4 book ai didi

android - 在 ListView 上长按打开上下文菜单

转载 作者:行者123 更新时间:2023-11-30 01:36:57 25 4
gpt4 key购买 nike

我有一个简单的上下文菜单,我想做一个 Toast 来显示一条短消息。

问题是我无法让项目 Position 显示我想要的特定细节,因为适配器的 Position 超出范围。

这是我的代码:

public class MainActivity extends AppCompatActivity implements     View.OnClickListener {

private ArrayAdapter<Product> adapter;
private ListView listView;
private ContextMenu menu;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listView = (ListView) findViewById(R.id.listView);
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
listView.setAdapter(adapter);

registerForContextMenu(listView);

adapter.add(new Product("shoe", 150));
adapter.add(new Product("T shirt", 80));
adapter.add(new Product("pants", 100));
adapter.add(new Product("lamp", 300));
adapter.add(new Product("ball", 20));
adapter.add(new Product("egg", 1));

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
Toast.makeText(MainActivity.this, adapter.getItem(position) + ": " + adapter.getItem(position).getPrice(), Toast.LENGTH_SHORT).show();

}
});

}


@Override
public void onClick(View v) {

}


@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("choose what to do");
menu.add(1, 0, 0, "product details");
menu.add(1,1,1,"delete");

}

@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()){
case 0:
Toast.makeText(MainActivity.this, adapter... + ": " + adapter..., Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}

最佳答案

我假设是因为您似乎想知道用户长按了哪个项目并想知道项目位置,以便您可以从 Adapter 或 List 中获取值。如果我理解你正确的 PFB 解决方案

AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
info.position;//This is your desired position.

现在你有了值(value),你可以玩了。开心!

编码愉快!!!

关于android - 在 ListView 上长按打开上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34994711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com