- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我怀疑这只是一些愚蠢的错误,但我被卡住了。问题很简单:我的字符串 path
没有发送到 MainActivity
。
在 FileListActivity.class 中创建 Intent
intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("path", fileName);
Toast.makeText(this, fileName + " set to play!", Toast.LENGTH_SHORT).show();
startActivity(intent);
在 MainActivity.class 中接收 Intent
protected void onResume(){
super.onResume();
Toast.makeText(this, "path set" + getIntent().getStringExtra("path"), Toast.LENGTH_SHORT).show();
if(getIntent().hasExtra("path")) try {
mediaPlayer.setDataSource(this, Uri.parse(getIntent().getStringExtra("path")));
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
FileListActivity
中的 Toast 显示正确的文件名。在 MainActivity
中为空。
最佳答案
尝试重写 MainActivity
中的 protected void onNewIntent (Intent intent)
如下...
@Override
protected void onNewIntent (Intent intent) {
setIntent(intent);
}
使用 Intent.FLAG_ACTIVITY_SINGLE_TOP
重新启动 MainActivity
并在 MainActivity
onResume( )
方法不会获得新的 Intent
,它只会获得原始的 Intent
,它不会有您的 path
extra。
通过覆盖 onNewIntent(...)
并使用它来调用 setIntent(...)
,新的 Intent
会覆盖原来的一个和 onResume()
中对 getIntent()
的调用应该得到正确的数据。
关于java - putExtra()、getStringExtra() - 为什么它不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582509/
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
我是一名优秀的程序员,十分优秀!