gpt4 book ai didi

Android - 如何显示 View ,但在单击后以某种方式记录 View 的 ID

转载 作者:行者123 更新时间:2023-11-30 04:18:10 24 4
gpt4 key购买 nike

我有一个从数据库中获取并显示在 Android 屏幕上的项目列表。

我这样添加项目:

JSONArray obj = new JSONArray(result);

if ( obj != null )
{
problems.clear();
List<String> list = new ArrayList<String>();

for ( int i = 0; i < obj.length(); i++ )
{
JSONObject o = obj.getJSONObject(i);

Log.d( "Title: " , "" + o.getString("problem_title") );
Log.d( "id: " , "" + o.getString("problem_id") );

problem_title = o.getString("problem_title");
problem_id = o.getString("problem_id");

problems.add( problem_id );

// Log.d( "MyProblemsActivity" , "problem title: " + problem_title );
Log.d( "MyProblemsActivity" , "problem id: " + problem_id );

}

problems.addAll(list);
adapter.notifyDataSetChanged();
}

理想情况下,我会向用户显示标题字符串,并跟踪项目的 ID,但对用户隐藏。有办法吗?

到目前为止,我只是想出了如何显示 id,以便当人们点击 id 时,我可以像这样获得该值:

ListView lv = getListView();
lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), (( TextView ) view).getText(),
Toast.LENGTH_SHORT).show();

// For now just do something simple like display a responsive message
Log.d( "MyProblemsActivity" , "A choice was made from the list: " + (( TextView ) view).getText() );
}
});

但是有没有办法显示项目字符串,但仍然能够知道单击项目时的 id 是什么?

谢谢!

最佳答案

当然。您可以修改您的适配器/列表以采用一些自定义对象和

static class Item {
public String title;
public String id;
}

List<Item> list = new ArrayList<Item>();

YourAdapter extends ArrayAdapter<Item> {

// inside your OnItemClickListener
adapter.getItem(position)

编辑: http://www.vogella.de/articles/AndroidListView/article.html有一个很好的例子。

关于Android - 如何显示 View ,但在单击后以某种方式记录 View 的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9672314/

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