在我的代码中启动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");
}
答案 0 :(得分:2)
这取决于arraylist的类型(从here复制)
然后你可以通过将带有键字符串作为参数的put替换为put来读取下一个活动,例如
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);
答案 1 :(得分:0)
在类的顶部创建一个成员字段局部变量。 m表示成员字段,是Android编码样式标准的一部分。查看Android Notepad教程以供参考。
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);
}
}