【问题标题】:Autocomplete Get Selected Elements Id自动完成获取选定元素 ID
【发布时间】:2018-07-07 21:54:09
【问题描述】:

我刚开始使用 Android,但我遇到了自动完成所选结果的问题。

我有一个包含这些列的 CutomerDB:

c_idm_idc_name

我有一个来自数据库“c_name”的名称列表,并传递给适配器。这工作正常。 现在,如果用户选择名称,我想要特定客户的 c_idM_id

注意有多个同名客户,例如:- 客户数据库:{1,1,test}{2,1,test}{3,1,testing}

所以当我输入“t”时,它给了我这个结果:测试,测试,自动完成测试,但选择后我需要客户 c_idm_id

【问题讨论】:

  • 您只需要创建一个Customer 类,其中将包含名称和ID。然后将Customers 的列表传递给适配器。您还可以覆盖 CustomertoString 方法以返回名称。
  • 我开始使用 android,你能告诉我一些例子如何做到这一点
  • @SiddheshNayak 你想从你的 autoCompleteTextView() 的下拉列表中获取所选项目的 ID 吗?
  • 你能上传一些例子是jsfiddle,还是github或者我刚开始使用android的地方
  • 我刚刚创建了带有 setter 和 getter 的客户类,toString 返回 C_Name 并将该类转换为 ArrayList 并传递给适配器自动完成现在工作正常如何获取 id

标签: java android database autocomplete


【解决方案1】:

在您的autoCompleteTextView 中实现OnItemClickListener(),您就可以轻松获取id。

  act.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            Log.d("ACT", " pos >> " + i);


                selectedId = yourList.get(i).yourId;


    });

【讨论】:

  • {1,1,test} {2,1,test} {3,1,fest} 所以如果我输入“t”并选择第二个测试然后 i = 1 但如果我输入“ f" 并选择 fest 然后 i = 0
  • @SiddheshNayak 是的 yourlist == 您在下拉列表中显示的项目。 get(i) 是您刚刚选择的索引。 yourId 是 id 或您想从列表中获取的任何字段。无论是 id、name 等
  • 你能上传一些例子是jsfiddle,还是github或者我刚开始使用android的地方
  • @SiddheshNayak 我相信你会在互联网上找到很多代码/示例 :) 只需谷歌它
猜你喜欢
  • 1970-01-01
  • 2014-07-04
  • 2012-02-12
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多