Android 将数组从活动传递到片段
在将数组传递给可以在putStringArray()方法上显示nullpointerexception的片段时,我如何处理该异常Android 将数组从活动传递到片段,android,android-fragments,Android,Android Fragments,在将数组传递给可以在putStringArray()方法上显示nullpointerexception的片段时,我如何处理该异常 Cursor test=db.rawQuery("select * from message",null); test.moveToFirst(); String[] messages=new String[test.getCount()]; if(test.getCount()>0) { do { if(test.getSt
Cursor test=db.rawQuery("select * from message",null);
test.moveToFirst();
String[] messages=new String[test.getCount()];
if(test.getCount()>0)
{
do
{
if(test.getString(2).equals(mob))
Toast.makeText(getApplicationContext(), "You\n" + test.getString(1), Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(), test.getString(2)+"\n" + test.getString(1), Toast.LENGTH_LONG).show();
} while (test.moveToNext());
}
data.putStringArray("messages", messages);
data.putString("number", mob);
错误
java.lang.RuntimeException: Unable to start activity ComponentInfo{...............................}: java.lang.NullPointerException
在活动中,为数组声明一个类作用域。然后在你的片段中,只需调用
((YourActivityClass)getActivity()).<Your array>
((YourActivityClass)getActivity()。
直接访问阵列。无需通过代码以方法开始
private Bundle showMessages()
{
Bundle extra=new Bundle();
Cursor test=db.rawQuery("select * from message",null);
test.moveToFirst();
String[] messages=new String[test.getCount()];
int i=0;
if(test.getCount()>0) {
do {
if(test.getString(2).equals(mob)) {
Toast.makeText(getApplicationContext(), "You\n" + test.getString(1), Toast.LENGTH_LONG).show();
messages[i]="You\n" + test.getString(1);
}
else {
Toast.makeText(getApplicationContext(), test.getString(2) + "\n" + test.getString(1), Toast.LENGTH_LONG).show();
messages[i]=test.getString(2) + "\n" + test.getString(1);
}
i++;
} while (test.moveToNext());
}
//data.putString("message",valu);
extra.putStringArray("messages", messages);
extra.putString("number", mob);
return extra;
}
和调用的
Bundle bundle=new Bundle(showMessages());
我知道,但是错误显示data.putStringArray(“messages”,messages);方法???声明的数据在哪里?上面的代码在方法中,并在Activity中调用oncreate()方法感谢您的合作。我终于找到了解决这个问题的办法你没有在数组中放任何东西,对吗?