为了账号安全,请及时绑定邮箱和手机立即绑定

如何从列表视图中获取多维数组的值?

如何从列表视图中获取多维数组的值?

回首忆惘然 2019-04-10 17:15:56
所以我的listview有一个多维数组,它构造如下:    String[][] listControls = {             {"Shutdown Host","10"},             {"Close Connection","1"}};假设第一个String是我要在列表视图中显示的文本,另一个是要通过套接字发送的id /消息(假设它是一个秘密值)。我像这样编写了适配器:    ArrayAdapter adapter = new ArrayAdapter<String>(this,R.layout.layout_listview);         for(int i = 0; i < listControls.length; i++) {             adapter.add(listControls[i][0]);         }     listView = (ListView) findViewById(R.id.controls_listView);     listView.setAdapter(adapter);     listView.setClickable(true);我构建了一个项目的点击监听器:listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {             @Override             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                 Object obj = listView.getItemAtPosition(position);                 //What should I add here? to get specific value from the array?                 //Integer cmdId = Integer.parseInt( ... );             }         });从点击监听器,我想得到另一个值,例如,如果我在列表视图中单击“关闭连接”,我想从中获取“1”值并将其放入变量中。在此先感谢您的帮助。
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

你能做的是

@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                  String value = listControls[position][1] 
            }

这当然只有在您有权访问listControls时才有效。如果没有,我会选择创建一个对象SomethingWithCode(String text,Int code)[或只是在kotlin中配对]并创建一个自定义适配器。

希望这可以帮助!

此外,如果你总是只传递两个值,你可能不需要多维数组(请参阅带有string和int参数的对象)


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 492 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信