Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:onActivityResult不工作_Java_Android_Android Intent - Fatal编程技术网

Java Android:onActivityResult不工作

Java Android:onActivityResult不工作,java,android,android-intent,Java,Android,Android Intent,我的代码有问题,我不知道背后的原因是什么。我正在尝试从第二个活动更新主活动中的文本视图。我试图将我的textview设置为公共静态,但无法更新。我还尝试使用intent和onActivityResult方法,但没有结果。下面是我的主要活动java代码 ..... @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestC

我的代码有问题,我不知道背后的原因是什么。我正在尝试从第二个活动更新主活动中的文本视图。我试图将我的textview设置为公共静态,但无法更新。我还尝试使用intent和onActivityResult方法,但没有结果。下面是我的主要活动java代码

.....
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) {
            if(resultCode == RESULT_OK){
                String income = data.getStringExtra("X");
                TextView tvView = (TextView) findViewById(R.id.MainIncome);
                tvView.setText(income);
                Toast.makeText(getBaseContext(), "Income Added", Toast.LENGTH_SHORT).show();
            }
            if (resultCode == RESULT_CANCELED) {
                Toast.makeText(getBaseContext(), "Cant Add Income, Something Went Wrong!", Toast.LENGTH_SHORT).show();
            }
        }
      }
....
    ....
  public void Add_Income(View v) {
        EditText IncomePayee = (EditText) findViewById(R.id.IncomePayee);
        EditText IncomeAmount = (EditText) findViewById(R.id.IncomeAmount);

        IPayee = IncomePayee.getText().toString();
        IAmount = Double.parseDouble(IncomeAmount.getText().toString());

        IAmount += GlobalVariables.TotIncome;

        Intent intent = new Intent();
        intent.putExtra("X", Double.toString(IAmount));
        setResult(RESULT_OK, intent);
        finish();
  }
....
这是XML文件

....
    <TextView
                    android:id="@+id/textView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Current Income: " />

     <TextView
                    android:id="@+id/MainIncome"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="0" />
....
....
 <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        android:text="Income Amount"
        android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
        android:id="@+id/IncomePayee"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="175dp"
        android:ems="10"
        android:inputType="textPersonName" />

<Button
        android:id="@+id/AddIncomeButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="380dp"
        android:layout_centerHorizontal="true"
        android:onClick="Add_Income"
        android:text="Add Income" />
....
这是XML文件

....
    <TextView
                    android:id="@+id/textView11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Current Income: " />

     <TextView
                    android:id="@+id/MainIncome"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="0" />
....
....
 <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        android:text="Income Amount"
        android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
        android:id="@+id/IncomePayee"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="175dp"
        android:ems="10"
        android:inputType="textPersonName" />

<Button
        android:id="@+id/AddIncomeButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="380dp"
        android:layout_centerHorizontal="true"
        android:onClick="Add_Income"
        android:text="Add Income" />
....
。。。。
....

最后一个音符。我不确定使用intent是否是更改文本视图的正确方法,因为我确实有多个活动可以从主活动中使用。

您是在开始新活动时打电话还是使用的?对于receive result,您应该调用startActivityForResult方法。

在您的意图中,您没有指定它应该属于哪个类

在您的附加收入法中:

Intent intent = new Intent(this, <Put your destination class>.class);
intent.putExtra("X", Double.toString(IAmount));
setResult(RESULT_OK, intent);
startActivity(intent);
finish();
Intent-Intent=新的Intent(该类);
intent.putExtra(“X”,Double.toString(IAmount));
设置结果(结果正常,意图);
星触觉(意向);
完成();
首先:

    Intent intent = new Intent();
    intent.putExtra("X", Double.toString(IAmount));
    setResult(RESULT_OK, intent);
定义意图:

    Intent intent = new Intent(getApplicationContext(),toActivity.class);
然后

    startActivityForResult(intent);

之后,当您从活动返回时,您的onActivityResult()代码将运行。

您实现这一点的方式真的是idk,只是奇怪&&还有“我试图使我的textview成为公共静态”不是,而是字符串。.当使用startActivityForResult调用活动时,请确保您不调用finish。我使用了“startActivityForResult”(Intent Intent,int requestCode)“为项目中的每项活动提供午餐(总共约5项活动)我试图指定它,但不幸的是仍然无法工作。感谢您的尝试和时间。您的第二个活动是否显示任何布局?我的意思是它是否扩展了活动?如果没有,那么您我认为我可以帮助太糟糕了,因为我的第二个活动包含不同的元素,是的,它显示布局。感谢您的帮助再次感谢您。