我正在使用SimpleCursoradapter来填充我在活动中拥有的List。
现在我需要将此活动的String值传递给另一个,并且该值将从本地数据库中提取。
我通过在listview中创建一个新的textview并使用SimpleCursorAdapter映射字符串值来做同样的事。
这是最好的做法吗?
public class InboxAdapter extends SimpleCursorAdapter {
public InboxAdapter(Context context, int layout, Cursor c,
String[] from, int[] to) {
super(context, layout, c, from, to);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
Button msgReply = (Button) view.findViewById(R.id.msgReply);
final TextView msgId = (TextView) view.findViewById(R.id.msgId);
msgReply.setOnClickListener(new View.OnClickListener() {
private Intent intent;
@Override
public void onClick(View v) {
intent = new Intent(getApplicationContext(), ComposeMessage.class);
Bundle b = new Bundle();
b.putCharSequence("id", msgId.getText());
intent.putExtras(b);
startActivity(intent);
}
});
}
}
答案 0 :(得分:2)
我在短时间内做了一点点,但this就是我用普通SimpleCursorAdapter
设法做到这一点的一个例子。
内容从数据库中提取并显示在ListActivity
中。这也适用于ListView
s。
当用户单击列表中的项目时,onClick - 方法将数据库中的项目ID作为参数获取。在我的示例中,它然后打开一个新的Activity,查询来自数据库的特定信息。
答案 1 :(得分:1)
Bundle bundle = new Bundle();
bundle.putString(ClientList.KEY_Client, nameText.getText().toString());//ClientList is another activity
Intent ok=new Intent();
ok.putExtras(bundle);
setResult(RESULT_OK, ok);
finish();