gpt4 book ai didi

android - 从过滤后的 ListView 中获取原始 ID

转载 作者:行者123 更新时间:2023-11-30 01:53:14 24 4
gpt4 key购买 nike

我有一个类,我可以在其中放入一个 StringArray,它会显示带有用于过滤内容的搜索框的列表。我的应用程序很容易每个字段都有一个集合 ID。但是,当我搜索一个值时,id 会更改为过滤后的列表。有没有办法从原始列表中获取 id,这样即使在过滤后的列表中,我也可以使用 9、14 而不是 0、1、2.... 之类的 id。

 lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , searchItems));
ed.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {
}

public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}

public void onTextChanged(CharSequence s, int start, int before,
int count) {

textlength = ed.getText().length();
arr_sort.clear();
for (int i = 0; i < searchItems.length; i++) {
if (textlength <= searchItems[i].length()) {
if (ed.getText().toString().equalsIgnoreCase((String) searchItems[i].subSequence(0, textlength))) {
arr_sort.add(searchItems[i]);
}
}
}

lv1.setAdapter(new ArrayAdapter<String>(Rest_Search.this, android.R.layout.simple_list_item_1, arr_sort));
// lv1.smoothScrollToPosition(20);
}
});
lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View v,
int position, long id) {
// String a = parent.getItemAtPosition(position);
// menuID = (int) id;

int a = (int) parent.getAdapter().getItemId(position);
// menuID = (int) parent.getAdapter().getItemId(position);
Toast.makeText(Rest_Search.this, ""+a, Toast.LENGTH_SHORT).show();

最佳答案

您可以自定义您的适配器。创建一个新的 Class extends BasaAdapter 并覆盖 getItemId 方法:

@Override
public long getItemId(int position) {
return items[position].getID();
}

然后在 onItemClick 中使用项目 id

关于android - 从过滤后的 ListView 中获取原始 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691208/

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