gpt4 book ai didi

android - 我如何在 Android 中填充我的 ListView

转载 作者:行者123 更新时间:2023-11-30 03:59:07 25 4
gpt4 key购买 nike

我是 Android 编程的新手,我想构建一个数字 Schoolplan。为此,我使用了一些 Activity 。我想创建一个计划并将它们列在 ListView 中,用户可以在此控件的 ListView 中单击它并查看所有家庭作业等。

这是我的想法:

enter image description here

我为 CreateMain 构建了一个 Activity :

 public void createPlan(View view)
{
String PlanName;

Intent intent = new Intent(this,ListenActivity.class);

EditText planName = (EditText)findViewById(R.id.editText1);

PlanName = planName.getText().toString();

intent.putExtra(ListViewMessage, PlanName);

startActivity(intent);

}

还有一个用于在 ListView 中显示创建数据的 Activity

import android.os.Bundle;
import android.view.Menu;
import java.util.List;
import android.app.ListActivity;
import android.widget.ArrayAdapter;

public class ListenActivity extends ListActivity {

private CommentsDataSource datasource;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open);

datasource = new CommentsDataSource(this);
datasource.open();

List<Comment> values = datasource.getAllComments();

// Use the SimpleCursorAdapter to show the
// elements in a ListView
ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);

Comment comment = null;

String[] comments = new String[] { "t1", "t2", "t3" };

comment = datasource.createComment(comments[1]);

adapter.add(comment);

adapter.notifyDataSetChanged();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_list, menu);
return true;
}
}

但我不知道如何在我的 ListView 中将之前 Activity 中的数据用于此 Activity 。我想使用 SQLite 数据库,但它不起作用:(

最佳答案

通过 Activity 传递数据的方法很少。由于您将信息存储在 Bundle 中,我将按照相同的逻辑回答。

如果您没有注意到,您已将信息存储在 createPlan 方法中的 Intent's Extra Bundle 中。之后,您启动了那个Intent

根据官方文档:"...extras -- 这是任何附加信息的 Bundle。这可用于向组件提供扩展信息。例如,如果我们有发送电子邮件的操作,我们也可以在此处包含额外的数据 fragment 以提供主题、正文等..."

因此,要获取该信息,您可以在 ListenActivity 中使用 getIntent().getExtras() 来取回您的 Bundle,然后您使用 getIntent().getExtras().getString(your_key) 传递用于存储计划名称的 key 。

例如:

public class ListenActivity extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
//...your stuff

String planName = getIntent().getExtras().getString(ListViewMessage);

//...your stuff
}

我不建议使用 SQLite 来存储少量数据。如果你真的想用它,有很好的例子here .

关于android - 我如何在 Android 中填充我的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12819501/

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