1

SimpleCursadapter を使用して、アクティビティにあるリストにデータを入力しています。

ここで、このアクティビティから別のアクティビティに文字列値を渡す必要があり、その値はローカル データベースからフェッチされます。

リストビューに新しいテキストビューを作成し、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);
            }
        });
    }

}
4

2 に答える 2

2

私は少し急ぎますが、これは通常の でこれを行う方法の例SimpleCursorAdapterです。

コンテンツはデータベースから取得され、 に表示されますListActivity。これはListViews でも機能します。

ユーザーがリスト内の項目をクリックすると、onClickメソッドがデータベースから項目 ID をパラメーターとして取得します。私の例では、データベースから特定の情報を照会する新しいアクティビティを開きます。

于 2011-06-28T14:52:22.990 に答える
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();
于 2011-06-28T14:44:36.123 に答える