Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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
Android 如何从意图数据设置文本_Android_Android Intent - Fatal编程技术网

Android 如何从意图数据设置文本

Android 如何从意图数据设置文本,android,android-intent,Android,Android Intent,我想在名为mUserTextView的文本视图中设置文本,其中包含来自其他活动的数据或结果。我正在使用下面的代码。但它不起作用。我的应用程序崩溃,代码如下。需要帮助 活动2:必须将数据传输到活动1 private void enterClicked() { Log.i(TAG,"Entered enterClicked()"); // TODO - Save user provided input from the EditText field

我想在名为
mUserTextView
的文本视图中设置文本,其中包含来自其他活动的数据或结果。我正在使用下面的代码。但它不起作用。我的应用程序崩溃,代码如下。需要帮助

活动2:必须将数据传输到活动1

private void enterClicked() {

        Log.i(TAG,"Entered enterClicked()");

        // TODO - Save user provided input from the EditText field
        String editText = mEditText.getText().toString();

        // TODO - Create a new intent and save the input from the EditText field as an extra
//      Intent result= new Intent()
        Intent result = new Intent(editText);


        // TODO - Set Activity's result with result code RESULT_OK
        setResult(Activity.RESULT_OK, result);

        // TODO - Finish the Activity
        finish();

    }
活动1:从活动2接收数据

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {

            Log.i(TAG, "Entered onActivityResult()");

            // TODO - Process the result only if this method received both a
            // RESULT_OK result code and a recognized request code
            // If so, update the Textview showing the user-entered text.
            if (requestCode == GET_TEXT_REQUEST_CODE) {
                if (resultCode == RESULT_OK) {

                    mUserTextView.setText(data.getData().toString());// some problem in this line
                }
            }
        }
注意:mUserTextView在java文件中有充分的定义

错误:显示
NullPointerException

日志:

使用以下方法:

我假设您是这样设置结果的:

   Intent in = new Intent();
   in.putExtra("text","This is demo text");
   in.setResult(RESULT_OK,in)
然后在OnActivityResult()方法中

如果在创建意图时未提供任何数据,则意图“数据”对象不包含任何数据

所以

毫无意义

如果您是从活动A创建意图,那么在活动B中,执行此操作

 Intent intent = new Intent();
 intent.putExtra("KEY", "Put your value here");
 intent.setResult(RESULT_OK, intent);
然后在onActivityResult()中执行此操作


您也可以发送其他数据类型,如int、boolean等。请检查方法,用法类似。

您面临什么错误?发布日志。从intent获取数据的正确方法是
data.getStringExtra(“key”)。这将返回一个字符串。将此字符串存储在变量中,然后将该变量放入textview的
setText()
方法中。像这样
setText(data.getStringExtra(“key”))
。“键”是在使用
data.putExtra(“键”,stringData)将数据设置为上一个活动的目的时设置的字符串我对问题做了一些编辑。你能再看一次吗。谢谢。setResult()方法中传递的参数错误。请把它们换掉,它成功了。谢谢如果你能给我解释一下这个“关键”的东西就好了。这个“键”是内置变量吗。为什么我们还没有定义这个“键”,但它却起了作用。它是某种内置的全局变量吗?是的,我当然会。如果这个答案对你有帮助,请投上一票,问一个新问题,并给我链接。我会详细回答。谢谢。请投票表决我的问题。因为我已经编辑并提供了所有详细信息。:)刚才在网上冲浪,了解了地图。所以我有点了解我们用“钥匙”在这里做什么:)谢谢你的帮助。(非常感谢。)
data.getData().toString()
 Intent intent = new Intent();
 intent.putExtra("KEY", "Put your value here");
 intent.setResult(RESULT_OK, intent);
if(requestCode == 1 && resultCode == RESULT_OK) {
    mUserTextView.setText(data.getStringExtra("KEY"));
}