1

私のアプリでは、Intentメソッドを使用して、Activityの2次元配列とさらに2つの整数値を別のフォームに送信する必要があります。これは..として行われます。

     Intent i = new Intent(getApplicationContext(), ViewActivity.class);
            Bundle postbundle = new Bundle();
            String[][] X={{"abc"},{"def"}};
            postbundle.putSerializable("data", X);
            i.putExtra("A", postbundle);

            i.putExtra("albumid", position);
            i.putExtra("Bigcard",bigcard);

ここでは、.putSerializableメソッドを使用して、配列をバンドルに配置しています。

したがって、レシーバーでこれらのデータにアクセスするには、アクティビティが使用しています

     Bundle bundle = getIntent().getBundleExtra("A");       
    String[][] ABC=(String[][]) bundle.getSerializable("data");
    Log.e("Array is",""+ABC);

しかし、 java.lang.NullPointerExceptionエラーメッセージが表示されました。

「静的」宣言を使用せずに 、ここでバンドルからこれらの値を取得するにはどうすればよいですか(レシーバーアクティビティで..)

これからplsを出させてください..

4

2 に答える 2

1

ステップ-1:別のBeanクラスを作成し、別のファイルに保存します

public class MyBean implements Serializable{
String[][] data = null;
public void set2DArray(String[][] data){
    this.data = data;
}
public String[][] get2DArray(){
    return data;
 }
}

ステップ2:呼び出しアクティビティで

        Intent intent = new Intent(this, Second.class);

   String data[][] = new String[][] {{"1","kumar"},{"2","sona"},{"3","kora"},{"1","pavan"},{"2","kumar"},{"3","kora333"}};
    MyBean bean = new MyBean();
    bean.set2DArray(data);
    Bundle b = new Bundle();
    b.putSerializable("mybean", bean);
    intent.putExtra("obj", b);
    startActivity(intent);

ステップ-3:発信者のアクティビティ

        Bundle b = getIntent().getBundleExtra("obj");
       MyBean dData = (MyBean) b.getSerializable("mybean");
       String[][] str =dData.get2DArray();
于 2013-02-22T12:16:02.193 に答える
0

本当の答えではありませんが、試してみてください。

試してみるとどうなりますか:

    Intent intent = getIntent();
    int a = intent.getIntExtra("albumid"); //if Your value is an int, otherwise use String
                                           //getStringExtra or whatever Your value is
于 2013-02-22T11:18:36.447 に答える