1

arraylist に id を渡すことで、あるクラスから別のクラスにデータを渡したい..

 listviewfirst.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

                    Intent i= new Intent(MainActivity.this,Questionactivity.class);
                    // To pass data 
                   i.putExtra("uploadarraylist", uploadarraylist);
                   startActivity(i);


        }

ここでは配列リストを渡しましたが、id no に基づいて次のアクティビティ ページにデータを渡したいと考えています。

4

5 に答える 5

1

Bundleを介して配列リストの値を渡すことができます。

>           Intent i= new Intent(context, QuestionActivity.class); 
>           Bundle bundle = new Bundle();
> 
>           bundle.putStringArrayList("messages", book_mark);
>           bundle.putIntegerArrayList("cell_ids", cell_ids);
>           bundle.putIntegerArrayList("cat_ids", cat_ids);
>           bundle.putIntegerArrayList("bkmId", bkmId); 
>           bookmark.putExtras(bundle);             
>           startActivity(i);
于 2013-02-21T08:50:44.173 に答える
0

そのarrayListを静的リストとして作成し、宣言されたcalss参照を使用して別のクラスで使用します。

于 2013-02-21T08:47:14.953 に答える
0

以下のようにこれを使用することもできるので、その後はIntentを経由する必要はありません。

次のように、ArrayListを静的なものとして宣言できます。

public static ArrayList<String> array = new ArrayList<String>(); 

これを行うことにより、次の方法で任意のアクティビティからArrayListにアクセスできます。

activityname.array;

ここで、activitynameは、静的ArrayListを宣言するアクティビティまたはクラスです。

または、これを実行できるよりもインテントを使用したい場合:

Intent i = new Intent(this,activityname.class);
Bundle bun = new Bundle();
bun.putIntegerArrayListExtra(String name, ArrayList<Integer> value);
//bun.putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value);
//bun.putStringArrayListExtra(String name, ArrayList<String> value);
i.putExtra(String name,bun);
startActivity(i);
于 2013-02-21T08:49:58.197 に答える
0

次のような配列リストがある場合: ArrayList<YourClass> list; クラスに Serializable インターフェイスを実装させます。その後、配列リストを putExtra() メソッドに追加できます。

import java.io.Serializable;

public class Bicycle implements Serializable{

  public int speed;

  public Bicycle(int startSpeed) {
    speed = startSpeed;
  }        
}

そしてあなたの活動で:

ArrayList<Bicycle> list = new ArrayList<Bicycle>();
Intent i = new intent(currentActivity.this, nextActivity.class);
i.putExtra("array", list);
startActivity(i);
于 2013-02-21T08:57:17.083 に答える