如何在Android中填充我的列表视图
我是Android编程的新手,我想建立一个数字校园计划。为此,我使用了一些活动。我想创建一个计划,并将它们列在一个ListView中,用户可以在该控件的ListView中单击并查看所有的家庭作业等等 以下是我的想法: 我为CreateMain构建一个活动:如何在Android中填充我的列表视图,android,sqlite,listview,android-intent,android-arrayadapter,Android,Sqlite,Listview,Android Intent,Android Arrayadapter,我是Android编程的新手,我想建立一个数字校园计划。为此,我使用了一些活动。我想创建一个计划,并将它们列在一个ListView中,用户可以在该控件的ListView中单击并查看所有的家庭作业等等 以下是我的想法: 我为CreateMain构建一个活动: public void createPlan(View view) { String PlanName; Intent intent = new Intent(this,ListenActivit
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中显示创建数据的活动
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;
}
}
导入android.os.Bundle;
导入android.view.Menu;
导入java.util.List;
导入android.app.ListActivity;
导入android.widget.ArrayAdapter;
公共类ListActivity扩展了ListActivity{
私有评论数据源;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open);
数据源=新注释数据源(此);
datasource.open();
列表值=datasource.getAllComments();
//使用SimpleCursorAdapter显示
//ListView中的元素
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,值);
setListAdapter(适配器);
注释=null;
字符串[]注释=新字符串[]{“t1”、“t2”、“t3”};
comment=datasource.createComment(comments[1]);
添加(注释);
adapter.notifyDataSetChanged();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u列表,菜单);
返回true;
}
}
但我不知道如何在我的ListView中将之前活动中的数据用于此活动。我想使用SQLite数据库,但它不起作用:(通过活动传递数据的方法很少。因为您将信息存储在
包中,所以我将按照相同的逻辑回答
如果您没有注意到,您将信息存储在createPlan
方法中的Intent的额外包中
根据官方文件:
“…extras--这是任何附加信息的捆绑包。这可用于向组件提供扩展信息。例如,如果我们有一个发送电子邮件的操作,我们还可以在此处包含额外的数据段以提供主题、正文等…”
因此,要获取这些信息,您可以在listenacity
中使用getIntent().getExtras()
收回您的Bundle
,然后使用getIntent().getExtras().getString(您的密钥)
传递用于存储计划名称的密钥
例如:
public class ListenActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
//...your stuff
String planName = getIntent().getExtras().getString(ListViewMessage);
//...your stuff
}
}
我不建议使用SQLite来存储少量数据。如果您真的想使用它,这里有很多很好的例子。通过活动传递数据的方法很少。因为您将信息存储在包中
我将按照同样的逻辑来回答
如果您没有注意到,您将信息存储在createPlan
方法中的Intent的额外包中
根据官方文件:
“…extras--这是任何附加信息的捆绑包。这可用于向组件提供扩展信息。例如,如果我们有一个发送电子邮件的操作,我们还可以在此处包含额外的数据段以提供主题、正文等…”
因此,要获取这些信息,您可以在listenacity
中使用getIntent().getExtras()
收回您的Bundle
,然后使用getIntent().getExtras().getString(您的密钥)
传递用于存储计划名称的密钥
例如:
public class ListenActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
//...your stuff
String planName = getIntent().getExtras().getString(ListViewMessage);
//...your stuff
}
}
我不建议使用SQLite来存储少量数据。如果你真的想使用它,这里有很多很好的例子。让我看看我是否了解你。你想用SQLite通过你的活动传递数据吗?是的,我想我可以添加一个ListView行,让我看看我是否了解你。你想通过你的活动传递数据吗是的,我想我可以添加一个ListView行