我本来解释得很糟糕。这是我的问题:我发送给startActivity()方法的意图包含一个私有字段mMap,它是一个包含我发送给putExtra()的字符串的映射。当目标活动启动时,对getIntent()的调用将返回不包含这些值的意图。mMap字段为空。显然,视图层次结构的内部或启动新活动的操作html" target="_blank">系统部分中的某些东西产生了传递给它的新意图,因为对象ID不同。
但为什么呢?为什么putData()值没有被带到新的目的中?
启动新活动的活动扩展了活动。以下是启动代码:
public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case 4:
i = new Intent(this, StatList.class);
i.putExtra("Name1", "Test1");
i.putExtra("Name3", "Test2");
startActivity(i);
}
}
我已经尝试了带和不带(推荐的)完整包名称前缀的键值。
在Eclipse调试器中,我已经验证了播放器名称的值是否正确插入到i. mExthus. mMap中。
以下是startee的代码:
public class StatList extends ListActivity {
private final StatsListAdapter statsAdapter;
public StatList() {
statsAdapter = StatsListAdapter.getInstance(this);
} // default ctor
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Intent i = getIntent();
final Bundle extras = i.getExtras();
< more code here >
}
当执行到这个方法时,minent。梅克斯特拉斯。mMap为null,minent为空。梅克斯特拉斯。mParcelledData现在包含一些看起来不合理的值(调用startActivity()时为null)。getIntent()返回minent。
我还尝试了startActivityForResult(),得到了同样的结果。
从我在网上看到的文件和样本
更新以下两行
最终意图i=getIntent();最终捆绑额外服务=i.getExtras();
换成
Bundle extras = getIntent().getExtras();
if(extras!= null){
String var1= extras.getString("Name1");
String var2= extras.getString("Name2");
}
在你的主要活动中:
i = new Intent(this, StatList.class);
i.putExtra("Name1", "Test1");
i.putExtra("Name3", "Test2");
startActivity(i);
然后在StatList.class
Bundle extras = getIntent().getExtras();
String name1 = extras.getString("Name1");
String name3 = extras.getString("Name3");
Log.i("StatList", "Name1 = " + name1 + " && Name3 = " + name3)
我有一个主活动MainActivity,它是我的android应用程序的入口点。它通过发射器正确发射。然而,当我尝试执行startActivity时,我看到活动试图启动的一些调试,一些代码正确启动,但MainActivity从未启动。 我认为这可能与意图有关: 对吗? 从内部活动来看,我有 我甚至看到 10-11 22:23:46.026:INFO/ActivityManager(472):从pi
问题内容: 我的应用程序中包含许多产品的网格。当用户选择网格中的一个项目时,我将启动一个新的“对话框”框,并显示该项目的名称,数量和图像。但是我不能动态发送图像源。 这是我的代码 我应该使用什么来从ImageView获取图像源? 问题答案: 像这样使用Bundle
//Holder.TimeDate.SetText(Integer.ToString(CurrItem.GetUniqueID())); 这是我的第一个代码,我通过它发送意图,我如何在第二个适配器上接收它 我如何在这里接收文本,因为通过这里我需要发送文本到第三个活动
我有一个应用程序具有这种转换: 输入后,我必须检查一个标志。然后我必须将其作为意图(让我们说)传递给。在中做了一些事情后,它会在按下按钮后返回。我所做的只是再次传递值为true的,然后再次启动活动C。所以发生的是它创建了另一个活动C。 我想做的是,我不必启动一个新的活动C,只需调用super即可使用以前的C。onBackPressed()。但我无法传递intentX的新值。有没有其他方法来实现我想
我正在开发我的第一个Android应用程序。这是一个录音应用程序。我正在用MediaRecord录制语音,如下所示: 我有另一个活动回放这些录制的声音(文件)。在这个活动中,有一个包含我录制的声音的ListView。我想用手机上安装的任何音乐播放器播放声音。这里我的代码:(此代码的来源:https://stackoverflow.com/a/3367231/556169) 但我得到了“音乐播放器不