myIntent.getStringExtra返回null?

Oma*_*mar 5 android android-intent

当我在切换活动时尝试发送带有意图的字符串时,我遇到了一个奇怪的问题.

这是我在第1课中所做的:

Intent myIntent = new Intent(SearchText.this, Search.class);  
myIntent.putExtra("searchx", spinnerselected);  
myIntent.putExtra("SearchText", input);  
startActivity(myIntent); 
Run Code Online (Sandbox Code Playgroud)

第2类:

Intent myIntent = getIntent();   
searchText=myIntent.getStringExtra("SearchText");  
spinnerselectednumber=Integer.parseInt(myIntent.getStringExtra("searchx"));
Run Code Online (Sandbox Code Playgroud)

并且在第二类中使用调试器,它清楚地表明searchx中有一个值 .

虽然线路myIntent.getStringExtra("searchx")返回null .

为什么是这样?

kat*_*arp 3

spinnerSelected 一个字符串吗?


来自 Intent 的 Javadoc

public String getStringExtra(String name)
Run Code Online (Sandbox Code Playgroud)

自: API 级别 1

描述:从意图中检索扩展数据。

参数:

名称所需项目的名称。

返回:先前添加的项目的值;putExtra()如果未找到 String 值,则返回 null。


似乎有很多方法可以检索“额外内容” - 无论其类型是什么spinnerSelected,请尝试使用适当的方法来检索它。例如,如果它是一个 int:

public int getIntExtra(String name, int defaultValue)
Run Code Online (Sandbox Code Playgroud)