大家好 在第二个活动中,我设置了一些值以及如何引入第一个活动。我使用Bundle来获取数据。 NullPointerException错误正在发生。
第二个活动中的:
c1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
c1.setChecked(true);
Bundle bundle = new Bundle();
bundle.putString("key1",String.valueOf(c1.getText()));
Intent myIntent = new Intent(view.getContext(), main.class);
myIntent.putExtras(bundle);
startActivityForResult(myIntent, 0);
}
});
在第一(主要)活动中:
Bundle bundle = this.getIntent().getExtras();
check = bundle.getString("key1"); // NullPointerException.
请帮助我。
答案 0 :(得分:2)
您必须Start Activity For Result机制。因此,当完成第二个活动以将结果返回到第一个活动时。
答案 1 :(得分:2)
您似乎正在从secondactivity
(主要)发布firstactivity
。在这种情况下,您需要使用finish()
返回数据,而不是使用startActivityForResult()
再次启动第一项活动。
在secondactivity
中,使用:
Bundle bundle = new Bundle();
bundle.putString("key1",String.valueOf(c1.getText()));
Intent myIntent = new Intent(view.getContext(), main.class);
myIntent.putExtras(bundle);
setResult(RESULT_OK, myIntent);
finish();
在onActivityResult()
的{{1}}中,使用:
firstactivity
答案 2 :(得分:0)
Mojo Risin是对的,你必须使用Start Activity For Result机制。
您可以在此处查看完整的工作教程http://www.vogella.de/articles/AndroidIntent/article.html#explicitintents
答案 3 :(得分:0)
Intent myIntent=new Intent(v.getContext(),detailPage.class);
myIntent.putExtra("prodId", "data");
startActivity(myIntent);
获取
String index=""
index=getIntent().getExtras().getString("prodId");
System.out.println("Position :"+index);