- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个简单的应用程序,它会在按下按钮时打开一个新 Activity 。然后用户将能够在文本字段中输入一些文本,按下 Enter
按钮应该将他们返回到 TextView
应该显示的文本的主要 Activity 他们进来了。
在我的主 Activity 类中,按下按钮时我会启动新的 Activity:
private void startExplicitActivation() {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, GET_TEXT_REQUEST_CODE);
}
我还在我的主要 Activity 类中定义了 onActivityResult()
,如下所示:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == GET_TEXT_REQUEST_CODE) {
mUserTextView.setText(data.getStringExtra("input"));
}
}
}
其中 mUserTextView
是我想根据用户在第二个 Activity 中输入的文本更改的 TextView
对象。它已在主 Activity 的 onCreate()
方法中初始化。
在我的第二个 Activity 中,我尝试创建一个新的 Intent
并在单击按钮时调用 putExtra()
:
private void enterClicked() {
String input = mEditText.getText().toString();
Intent intent = new Intent();
intent.putExtra("input", input);
setResult(RESULT_OK);
finish();
}
我试过调试它,它能够从我的 mEditText
中获取文本并将其分配给 input
。在我的 Intent
对象中,它将文本适本地放入 input
中,但是当我返回到我的主要 Activity 时,它给我一个错误:
Caused by: java.lang.NullPointerException
它指向这一行:
mUserTextView.setText(data.getStringExtra("input"));
这是因为我使用了finish()
方法吗?我认为在我完成一项 Activity 后使用是合适的,但我是否应该这样做:
private void enterClicked() {
String input = mEditText.getText().toString();
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
intent.putExtra("input", input);
setResult(RESULT_OK);
startActivity(intent);
}
最佳答案
替换
setResult(RESULT_OK);
与
setResult(RESULT_OK,intent);
当您想将信息传递给调用者时 Activity
,通过Intent
发回结果并且不要启动 Activity
再次在 enterClicked()
.只需调用 finish()
在 setResult()
之后.这将调用 onActivityResult()
来电者 Activity
Intent data
在哪里参数包含你传递的信息...
关于android - getStringExtra() 返回 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21772475/
intent.putExtra() 和 intent.getStringExtra() 不起作用。 getStringExtra 返回 null 发送端: Intent in
和getIntent().getIntExtra一样,getStringExtra是否有一个默认值,如果传递的字符串为空,可以使用该默认值? 我有一个方法可以做到这一点,但想知道是否有现成的方法可以实
主要 Activity : Intent intent = new Intent(Main.this, Secondary.class); intent.putExtra("name",value);
这是我的代码,第一个 Activity : final String countryName = name.getText().toString(); wikiButton.setText("WIKI
我正在尝试编写一个简单的应用程序,它会在按下按钮时打开一个新 Activity 。然后用户将能够在文本字段中输入一些文本,按下 Enter 按钮应该将他们返回到 TextView 应该显示的文本的主要
我尝试通过 Intent 向函数发送额外的字符串数据,但我收到的是空值。 这里是 intent.put: private void takePicFromGallery(String nameOfB
我试图将一些字符串从一个 Intent 传递到另一个 Intent 。但是 adt 说: Key text expected String but value was a android.text.S
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 8 年前。 //intent.putExtra(EXTRA_MESSAGE,
这个问题在这里已经有了答案: Android Intent.getStringExtra() returns null (1 个回答) 关闭去年。 当我尝试在切换 Activity 时发送带有 In
我正在使用一个 EditText 字段和一个微调器。我必须将两者的结果传递给下一个 Activity 。在这里,reqd_bloodgroup 是微调项,我使用以下方法转换为字符串: reqd_blo
我怀疑这只是一些愚蠢的错误,但我被卡住了。问题很简单:我的字符串 path 没有发送到 MainActivity。 在 FileListActivity.class 中创建 Intent intent
这个问题在这里已经有了答案: Android Intent.getStringExtra() returns null (1 个回答) 去年关闭。 我真的觉得这很奇怪,我可以获得除一个之外的其他值。这
首先,我对编码非常陌生,而且对 Firebase 的功能也很陌生。问题是,我试图通过将数字与值关联来从 firebase 获取特定值。正如我将其设计为我的第一个 Activity (Buffer2),
我有一个 fragment 和 Activity 。从 fragment 中,我通过 putExtra 将名为 day 的字符串传递给 Activity 。但是当我在 Activity 中检索时出现空
我直接进入问题。在 UploadNotesActivity.java.... 首先,我使用 intent 选择一个 .pdf 文件 chooseNotesBtn.setOnClickListener(
我是 Android 编程的初学者,我正在尝试将字符串数据的段落从 MainActivity 发送到另一个名为 Info Activity 的 Activity 。 我搜索了在 Activity 之间
我正在使用 LocalBroadcastManager 广播一个 Intent ,我想在这个 Intent 中添加一个额外的字符串。 广播代码: Intent intent = new Int
所以在 Activity A 中,我通过 Intent 将一些数据传递给 Activity B。好的,一切正常,getStringExtra 返回我所期望的。然后,我从 Activity B 将相同的
我有这个调用 Activity 的代码 Intent intent; intent=new Intent(TopicsActivity.this, Di
我知道这个问题已经被问了很多,但我不知道我哪里错了.. 所以我通过一个 Activity 发送了一些数据并从另一个 Activity 中检索它。 第一个 Activity Timber.i("Phot
我是一名优秀的程序员,十分优秀!