java.lang.NoSuchMethodError:android.os.Bundle.getString

时间:2012-01-18 19:56:32

标签: android

game.multiplayer = bundle.getString("multiplayer" ,null);

给出错误:

java.lang.NoSuchMethodError: android.os.Bundle.getString

其他方法,如

 game.word.word = bundle.getStringArray("word");

工作正常。

有人有任何想法吗?

5 个答案:

答案 0 :(得分:61)

在API 12中添加了

getString(key,defValue)。使用getString(key),因为如果键不存在,它将返回null。

答案 1 :(得分:2)

只需使用此功能:

public static String getStringFromBundle(Bundle bundle, String key, String defaultValue){
    if (Build.VERSION.SDK_INT < 12){
        String returns = bundle.getString(key);
        if(returns==null) returns = defaultValue;

        return returns;
    } else
        return bundle.getString(key, defaultValue);
}

答案 2 :(得分:1)

{1}}类中的getString(String key, String defaultValue)方法已添加到API级别12(据我记得,这是Android 3.1)。如果您使用的是早期版本,则必须使用早期API级别中提供的替代方案之一(请参阅链接)。

答案 3 :(得分:0)

试试这个:

game.multiplayer = bundle.getString("multiplayer");

答案 4 :(得分:0)

使用像这个例子

Intent intent = getIntent();
String fName = intent.getStringExtra("fname");
String lName = intent.getStringExtra("lname");