0

さて、私はAndroid開発に本当に慣れていないので、明確な説明を探しましたが、あまり見つかりませんでした. 私の質問では、できるだけ明確にしようと思います。

基本的に、2 つのアクティビティ、テキスト ボックスなど (ユーザーが入力する情報) を含むフォームを含む Create アクティビティ、および下部に作成ボタンがあるとします。Creations という 2 番目のアクティビティは、ユーザーが Create アクティビティのフォームを使用して何かを作成するまで、基本的には視覚的に空です。

そのため、Create アクティビティで作成ボタンがクリックされたときのメソッドがあります。

 public void create(View view){

    Creations.make(info1, blah1, blah2, etc);

}

この make() メソッドは Creations アクティビティにあり、送信された情報を使用してそのページにカスタム ビューを描画し、ユーザーが Create アクティビティの作成ボタンをクリックするたびに呼び出されるようにします。make() が静的メソッドでない限り、これを実行できないことはわかっていますが、それ以外の方法でこれを実装するにはどうすればよいでしょうか? Creations アクティビティのオブジェクトを作成する必要があることはわかっていますが、追加する新しいアイテムごとに同じアクティビティの複数のオブジェクトを作成する必要はありませんか?

4

1 に答える 1

1

基本的に、明示的なアクティビティを作成する必要はありませんobject。API でアクティビティを開始するだけで済みますstartActivity()

さて、あなたの場合、

onCreatePressed()以下にCreateActivity示すように、メソッドがあります。

public void onCreatePressed(View v) {
    Intent intent = new Intent(CreateActivity.this, CreationActivity.class);
    intent.putExtra(KEY_INFO, info);
    intent.putExtra(KEY_BLAH1, blah1);
    .
    .

    CreateActivity.this.startActivity(intent);
}

そして、メソッドCreationActivityをオーバーライドする必要があります。これは次のようになりますonCreate()

public void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();

    /* if info type is of int there is a method getIntExtra and so on, 
     * if it is a custom class then it must implement Serializable interface 
     * and there is method getSerializableExtra for this.
     */ 
    InfoType info = intent.get<InfoType>Extra(KEY_INFO);
    .
    .
    .

    // setContentView(some_resource_id);

    // inflate it with the data. 
}
于 2013-07-22T19:50:46.020 に答える