【问题标题】:Android - Use String from 2nd Activities for List on 1st activityAndroid - 使用来自第二个活动的字符串作为第一个活动的列表
【发布时间】:2015-03-05 17:47:16
【问题描述】:

我目前开始在 Android 上工作,现在我正在尝试弄清楚如何将 Intent 从第二个 Activity 发送到第一个!

现在我知道我必须使用 startActivityForResult 并且我认为我实际上以正确的方式使用了它。 但是,我的主要活动中有一个列表,我想用我的第二个活动中的字符串填充。但是在尝试将接收到的字符串添加到列表时,我无法在没有出现 NullPointer 异常的情况下更新列表。

  java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference

我认为我的问题在于一些活动顺序问题。一旦第二个活动完成(),我如何将收到的字符串从 OnActivityResult 发送到 OnResume。 或者由于某种原因,从我的第二个活动过来的实际字符串总是空的,但我不知道为什么会这样......

在下面找到答案检查帖子

【问题讨论】:

  • 检查会议名称是否为空。 MeetingName = (EditText)findViewById(R.id.editText); if(MeetingName==null)Log.e("NULL","MeetingNameView 为 NULL");
  • 异常表示您正在使用空对象进行操作。尝试检查值,尤其是 MeetingName 从创建到 onActivityResult
  • vinitus 解决了这个问题,但是非常感谢大家!!!我只是没有使用正确的意图......但其他一切都很好:)!

标签: java android list android-activity


【解决方案1】:

您的问题是您在结果中没有得到正确的意图。变化:

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
     //check for right result
     if (requestCode == 10) {
       if (resultCode == RESULT_OK) {
            //Catching name from 2nd Activity
            Intent GoToMain = getIntent();

收件人:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//check for right result
if (requestCode == 10) {
    if (resultCode == RESULT_OK) {

            //Catching name from 2nd Activity
            Intent GoToMain = data;

【讨论】:

  • 天哪,我花了最后 3 个小时试图弄清楚这一点,但我太无视了。你是我今天的英雄!!!!!!!!!!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 2011-12-20
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多