我是Android编程的新手,我想建立一个数字学校计划。为此,我使用了一些活动。我想创建一个计划并将它们列在ListView中,用户可以在此控件上的ListView中单击并查看所有Homeworks等。
这是我的想法:
我为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中显示创建数据的活动
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中使用此活动之前的活动数据。我想使用SQLite数据库,但它不起作用:(
答案 0 :(得分:1)
通过“活动”传递数据的方法很少。由于您将信息存储在Bundle
中,我将按照相同的逻辑回答。
如果您没有注意到,则会将您的信息存储在createPlan
方法的意图附加包中。之后,您开始Intent
。
根据官方文件: &#34; ... extras - 这是一个包含任何其他信息。这可用于向组件提供扩展信息。例如,如果我们有动作发送电子邮件,我们还可以在此处包含额外的数据以提供主题,正文等... &#34;
因此,要获取该信息,您可以在getIntent().getExtras()
内使用ListenActivity
来取回Bundle
,然后传递用于存储计划名称的密钥使用getIntent().getExtras().getString(your_key)
。
例如:
public class ListenActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
//...your stuff
String planName = getIntent().getExtras().getString(ListViewMessage);
//...your stuff
}
}
我不建议使用SQLite来存储少量数据。如果你真的想要使用它,那么有很好的例子here。