Android 绑定到MainActivity.java
因此,我在主活动中有一个recycler视图,只要我点击一个元素,我就可以转到另一个屏幕,并使用捆绑包发送信息(例如单击的recycler视图中元素的名称)。一切正常 现在,我试图返回到主活动,并将信息发送到将在祝酒词中显示的主活动 这是我在第二个活动中要回顾的内容的一部分Android 绑定到MainActivity.java,android,android-intent,android-recyclerview,bundle,Android,Android Intent,Android Recyclerview,Bundle,因此,我在主活动中有一个recycler视图,只要我点击一个元素,我就可以转到另一个屏幕,并使用捆绑包发送信息(例如单击的recycler视图中元素的名称)。一切正常 现在,我试图返回到主活动,并将信息发送到将在祝酒词中显示的主活动 这是我在第二个活动中要回顾的内容的一部分 public void onClick(View view) { String text1 = ""; Bundle bundle = new Bundle()
public void onClick(View view) {
String text1 = "";
Bundle bundle = new Bundle();
bundle.putString("xyz1",editText.getText().toString());
Intent returnIntent = new Intent(view.getContext(),MainActivity.class);
returnIntent.putExtras(bundle);
view.getContext().startActivity(returnIntent);
}
这就是我在主要活动中所做的,在oncreate方法中检索它
//Bundle bundle = this.getIntent().getExtras();
//String value = bundle.getString("xyz1");
//Toast.makeText(this,value,Toast.LENGTH_SHORT).show();
我对它进行了评论,因为它崩溃了。我猜它崩溃是因为程序第一次启动时,没有捆绑包,没有来自第二个活动的信息
我可以反过来做(从主要活动到第二个活动)
如何执行此操作?在访问捆绑包中的参数之前,请尝试执行空检查
private static final String EXTRA_MY_STRING = "xyz1";
if (getIntent().getExtras() != null)
{
Bundle extras = getIntent().getExtras();
String value = extras.getString(EXTRA_MY_STRING);
if (!TextUtils.isEmpty(value))
{
// show Toast
}
}
此外,发布日志有助于我们查看崩溃的来源。您可以通过几种不同的方式对其进行归档 您的第一个活动(不清楚该活动的名称)您应该这样使用它
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
EditText nameText = (EditText) findViewById(R.id.query_textbox);
intent.putExtra("key", nameText.getText());
startActivity(intent);
下面是我将如何完成这个问题。我认为它的格式是最好的,并且很容易被其他可能正在阅读您的代码的人理解(遵循良好的编程格式)
然后在您的SecondActivity.class(我认为在您的情况下应该是MainActivity.class)
如果您想使用格式良好的代码,应该如下所示
Intent intent = getIntent();
// Get the extras (if there are any)
Bundle extras = intent.getExtras();
if (extras != null) {
if (extraStr.containsKey("key")) {
String extraStr = extras.getString("key");
// TODO: Do something.
}
}
或者也可以使用Intent方法直接访问您的附加内容
String extraStr = getIntent().getExtras("key");
我会在这里附上一些参考资料,如果你愿意的话,它们会帮助你对此有更多的了解。谢谢
参考资料:
你能给我们看一下坠机日志吗?@vinnie我在哪里看到的?抱歉,Android 100%新手在Android Studio IDE的底部,查找
Logcat
选项卡。一旦应用程序崩溃,并在设备/模拟器上按“关闭应用程序”,您将看到崩溃数据的转储。如果是例外,则通常为红色。如果在IDE底部看不到Logcat选项卡,请转到查看-->工具窗口-->Logcat
String extraStr = getIntent().getExtras("key");