1

アクティビティ コードを送信するコードで karsilastir アクティビティを開始すると、常に nullPointerException が発生します。

  karsilastir.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Intent intent_notify=new Intent();
                intent_notify.setClass(Evraka1Activity.this,karsilastir.class);

             Bundle bundle=new Bundle();

                 bundle.putStringArrayList("urunler", urunler);

                 intent_notify.putExtra("urunler",bundle);

                 //startService(intent_notify);
                 startActivity(intent_notify);
}

ここでアクティビティコードを受け取ります:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.karsilastirmasonuclari);
        Intent intent = getIntent();

        Bundle b = intent.getExtras();
       gelenurunler = b.getStringArrayList("urunler"); 
}
4

2 に答える 2

2

配列リストの型に依存します(ここからコピーされます)

  1. putIntegerArrayListExtra(文字列名、ArrayList 値)
  2. putParcelableArrayListExtra(文字列名、ArrayList 値)
  3. putStringArrayListExtra(文字列名、ArrayList 値)
  4. putCharSequenceArrayListExtra(文字列名、ArrayList 値)

次に、引数としてキー文字列を使用して put を get に置き換えることで、次のアクティビティから読み取ることができます。

myIntent.getStringArrayListExtra("arrayPeople");

更新しました::

Intent i = new Intent(this,name.class);
Bundle b = new Bundle();
b.putIntegerArrayListExtra(String name, ArrayList<Integer> value);
i.putExtra(String name,b);
startActivity(i);

そして、次のような別のアクティビティにデータを取得します

Bundle b = getIntent().getExtra().putParcelableArrayListExtra(String name);   
于 2012-05-26T13:16:17.353 に答える
0

クラスの先頭にメンバー フィールド ローカル変数を作成します。m はメンバー フィールドを表し、Android コーディング スタイル標準の一部です。Android メモ帳のチュートリアルを参考にしてください。

http://developer.android.com/resources/tutorials/notepad/notepad-ex2.html

public class karsilastir extends ListActivity {

/* Create an instance variable just below the class constructor. */    
ArrayList mUrunler;

....

karsilastir.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            Intent intent_notify=new Intent();
            intent_notify.setClass(Evraka1Activity.this,karsilastir.class);

         Bundle bundle=new Bundle();

             bundle.putStringArrayList("urunler", mUrunler);

             intent_notify.putExtra("urunler",bundle);

             //startService(intent_notify);
             startActivity(intent_notify);
        }
    }
于 2012-05-26T13:25:54.487 に答える