gpt4 book ai didi

使用 getStringArray 时出现 java.lang.NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:49 25 4
gpt4 key购买 nike

我正在开发一个可以生成宝藏列表的应用程序。

这是我的字符串数组,用于将列表存储到:

String treasure[] = {"", "", "", "", "", "", "", "", "", "",
"", "", "", "", ""} ;

这就是我填写值的方式

treasure[0] = coinvalue + " copper pieces";

这是我将编译列表发送到下一部分的地方:

Bundle treasurelist = new Bundle();
treasurelist.putStringArray("loot", treasure);
Intent a = new Intent(TreasureGen.this, Treasure_Results.class);
a.putExtras(treasurelist);
startActivity(a);

这是我在下一阶段中获取列表的地方:

public class Treasure_Results extends ListActivity {
String getTreasure[] ;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle gettreasurelist = getIntent().getExtras();
getTreasure = gettreasurelist.getStringArray("loot");
setListAdapter(new ArrayAdapter<String>(Treasure_Results.this, android.R.layout.simple_list_item_1, getTreasure));


}
}

这是我收到的错误代码:

Caused by: java.lang.NullPointerException
at com.giraffelitis.ptindustries.dungeonmasterassistant.Treasure_Results.onCreate(Treasure_Results.java:24)
at android.app.Activity.performCreate(Activity.java:5431)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

当我点击链接时,它会将我发送到这行代码

getTreasure = gettreasurelist.getStringArray("loot");

由于这只是我尝试用 Java 编写代码的第二天,我不知道该怎么办...我浏览了论坛试图找到解决方案,并且存在一些类似的问题,但是我找不到我的问题与这些答案无关。

更新

我已尝试以下建议...这是适用于此功能的 TreasureGen Activity 代码。

roll.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
treasurecr = counter;
int d100;
int coinvalue;

String treasure[] = {"", "", "", "", "", "", "", "", "", "",
"", "", "", "", ""} ;
Bundle treasurelist = new Bundle();
treasurelist.putStringArray("loot", treasure);
Intent a = new Intent(TreasureGen.this, Treasure_Results.class);
a.putExtras(treasurelist);
startActivity(a);

Intent openStartPoint = new Intent("com.giraffelitis.ptindustries.TREASUREGEN2");
startActivity(openStartPoint);
}
});

这是我的整个 Treasure_Results Activity

public class Treasure_Results extends ListActivity {
String getTreasure[] ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle treasurelist = getIntent().getExtras();
getTreasure = treasurelist.getStringArray("loot");
System.out.println("getTreasure = " + getTreasure);
setListAdapter(new ArrayAdapter<String>(Treasure_Results.this, android.R.layout.simple_list_item_1, getTreasure));

}
//@Override
//public void onListItemClick(ListView l, View v, int position, long id) {
// do something with the data
//}
}

这是我的错误日志,了解 getTreasure 数组中的内容

08-24 17:02:34.040  25764-25764/com.giraffelitis.ptindustries.dungeonmasterassistant I/System.out﹕ getTreasure = [Ljava.lang.String;@429bcae0

感谢您的宝贵时间!

最佳答案

如果您想在两个 Activity 之间传输数组字符串,您可以使用以下代码(在初始 Activity 中):

Intent intent = new Intent();
in.putExtra("loot", treasure);

同时,在您要处理数组的 Activity 中:

Intent intent = getIntent();
String treasure[] = intent.getStringArrayExtra("loot");

关于使用 getStringArray 时出现 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com