gpt4 book ai didi

java - ListView 和 ArrayAdapter 配置,android 应用程序

转载 作者:行者123 更新时间:2023-12-02 08:04:49 24 4
gpt4 key购买 nike

在花了很多时间让 ListView 与我的数据库一起工作之后,我终于成功地编译了它。现在我知道事情正在正确通信(即数据库信息到 ListView ),我想知道是否有人可以建议使其更有用的方法。我注意到当我运行该应用程序时, ListView 项目似乎是可单击的,但无处可去。如何添加到我的代码中,以便在单击某个项目时,它会打开一个包含所有项目信息的新 Activity ?

private void showEvents() {
SQLiteDatabase db = post.getWritableDatabase();
Cursor cursor= db.rawQuery("SELECT "+TITLE+", "+LINK+", "+POST+", "+DATE+" FROM "+TABLE_NAME+" "+"ORDER BY "+DATE+" DESC;",null);
startManagingCursor(cursor);

//TextView tv = new TextView(this);
//ListView lv1 = (ListView) findViewById(R.id.myListView);
ListView lv1 = new ListView(this);
lv1.setId(2000);


// Stuff them all into a big string
StringBuilder builder = new StringBuilder("");
ArrayList<String> codes = new ArrayList<String>();
while(cursor.moveToNext()){
String title = cursor.getString(0);
//builder.append("Title: ").append(title).append("\n");

String link = cursor.getString(1);
//builder.append("Link: ").append(link).append("\n");

String post = cursor.getString(2);
//builder.append("Post: ").append(post).append("\n");

String date = cursor.getString(3);
//builder.append("Date: ").append(date).append("\n");
codes.add(title);

}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, codes);
lv1.setAdapter(adapter);
this.setContentView(lv1);

//tv.setText(builder);
//this.setContentView(tv);
}

例如,当我添加codes.add(title)时,我想单击该项目并查看该内容字段的其余部分(例如链接、描述、日期)。大多数教程都不涉及此 arrayadaper 设置,因此很难知道该怎么做。

最佳答案

您需要向 ListView 添加一个点击监听器,然后有办法找出点击的内容并启动新 Activity 。像这样的事情:

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String textOfSelectedItem =((TextView) view).getText().toString();
//Create our intent
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("Place", textOfSelectedItem);
startActivity(i);
}
}

});

关于java - ListView 和 ArrayAdapter 配置,android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349006/

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