1

私は Android プログラミングの初心者で、デジタル スクールプランを作成したいと考えています。このために、いくつかのアクティビティを使用します。私は計画を作成し、ユーザーがこのコントロールの ListView でクリックしてすべての宿題などを表示できる ListView にそれらをリストしたいと考えています。

ここに私の考えがあります:

ここに画像の説明を入力

CreateMain のアクティビティを作成します。

 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 データベースを使いたいのですが、うまくいきません :(

4

1 に答える 1

1

アクティビティを介してデータを渡す方法はいくつかあります。に情報を保存したのでBundle、同じロジックに従って回答します。

気付かなかった場合は、メソッドのIntent's Extra BundlecreatePlanに情報を保存しました。その後、あなたはそれを始めましたIntent

公式ドキュメントによると: " ...extras -- これは追加情報のバンドルです。これを使用して、コンポーネントに拡張情報を提供できます。たとえば、電子メール メッセージを送信するアクションがある場合、件名、本文などを提供するために、ここに追加のデータを含めることもできます...

したがって、その情報を取得するには、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 を使用することはお勧めしません。本当に使いたい場合は、ここにとても良い例があります。

于 2012-10-10T13:44:58.340 に答える