Android 创建数组列表并将其从一个活动传递到另一个活动
我是一名学生,不熟悉编程。这可能是一个简单的错误,有人能帮我修复它吗?我必须将数组列表从一个活动传递到另一个活动。在这个活动中,我有5个单选按钮RB1、RB2。。。。我想把它的内容传递给另一个叫做display的活动Android 创建数组列表并将其从一个活动传递到另一个活动,android,arraylist,Android,Arraylist,我是一名学生,不熟悉编程。这可能是一个简单的错误,有人能帮我修复它吗?我必须将数组列表从一个活动传递到另一个活动。在这个活动中,我有5个单选按钮RB1、RB2。。。。我想把它的内容传递给另一个叫做display的活动 public void onClick(View v) { String[] news; news = new String[5]; news[0] = "bbc"; news[1] = "guardian";
public void onClick(View v) {
String[] news;
news = new String[5];
news[0] = "bbc";
news[1] = "guardian";
news[2] = "yahoo";
news[3] = "sky";
news[4] = "fox news";
final ArrayList<String> arr = new ArrayList<String>();
if (RB1.isChecked() == true)
arr.add(news[0]);
if (RB2.isChecked() == true)
arr.add(news[1]);
if (RB3.isChecked() == true)
arr.add(news[2]);
if (RB4.isChecked() == true)
arr.add(news[3]);
if (RB5.isChecked() == true)
arr.add(news[4]);
if (v == Done)
{
Button done = (Button) findViewById(R.id.DONE);
done.setOnClickListener(new View.OnClickListener() {
public void onClick(View view)
{
Intent myIntent = new Intent(Read.this, display.class);
myIntent.putExtra("pass",arr);
startActivity(myIntent);
}
});
}
public void onClick(视图v){
字符串[]新闻;
news=新字符串[5];
新闻[0]=“bbc”;
新闻[1]=“卫报”;
新闻[2]=“雅虎”;
新闻[3]=“天空”;
新闻[4]=“福克斯新闻”;
最终ArrayList arr=新ArrayList();
if(RB1.isChecked()==true)
arr.add(新闻[0]);
if(RB2.isChecked()==true)
arr.add(新闻[1]);
if(RB3.isChecked()==true)
arr.add(新闻[2]);
if(RB4.isChecked()==true)
arr.add(新闻[3]);
if(RB5.isChecked()==true)
arr.add(新闻[4]);
如果(v==完成)
{
按钮完成=(按钮)findViewById(R.id.done);
done.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
Intent myIntent=newintent(Read.this,display.class);
myIntent.putExtra(“通过”,arr);
星触觉(myIntent);
}
});
}
下一个活动的代码如下所示
Intent myintent = getIntent();
String[] Array = myintent.getStringArrayExtra("pass");
for (int i = 0; i < Array.length; i++)
Log.v(LOG_TAG, "THE website Is :" +Array[i]);
Intent myintent=getIntent();
字符串[]数组=myintent.getStringArrayExtra(“pass”);
for(int i=0;i
我在上面的两行中得到一个java.lang.NullPointerException,即
for (int i = 0; i < Array.length; i++)
Log.v(LOG_TAG, "THE website Is :" +Array[i]);
for(int i=0;i
你能告诉我为什么吗?
首先要感谢一些约定:变量名称以小写字母开头,因此
array
而不是array
。这将避免以后的混淆
从线程按如下方式尝试:
及
首先,有一些约定:变量的名称以小写开头,因此
array
而不是array
。这将避免以后的混淆
从线程按如下方式尝试:
及
像这样使用Bundle:
Bundle bundle = new Bundle();
bundle.putStringArray(key, news);
myIntent.putExtra("pass",bundle);
startActivity(myIntent);
像这样使用Bundle:
Bundle bundle = new Bundle();
bundle.putStringArray(key, news);
myIntent.putExtra("pass",bundle);
startActivity(myIntent);
检查此链接:检查此链接可能会有所帮助…对于您的NullPointerException问题,
数组
变量可能为空,如果您没有从上一个活动中正确地传递它,则会发生这种情况。请在字符串[]数组=…
之后使用log语句再次检查此问题,类似于log.v(LOG_标签,“Array is null?”+(Array[i]==null));
。哦!您不能将ArrayList
传递到myIntent.putExtra()
。您需要先将ArrayList
转换为String[]
。请尝试putExtra((String[])arr.toArray()
;检查此链接:检查此链接可能会有所帮助…对于NullPointerException问题,数组
变量可能为null,如果您没有从上一个活动中正确传递它,则会发生这种情况。请在字符串[]数组=…
之后使用log语句再次检查此问题,类似于log.v(LOG_标签,“Array is null?”+(Array[i]==null));
。哦!您不能将ArrayList
传递到myIntent.putExtra()
。您需要先将ArrayList
转换为String[]
。请尝试putExtra((String[])arr.toArray()
;非常感谢您的帮助。非常感谢。恐怕它不能帮助我解决java.lang.NullPointerException错误。您能帮我解决这个错误吗。您仍然得到java.lang.NullPointerException错误吗..解释您从哪里得到的..请查看问题的最后一部分..相同的点..在f中或者循环..你能告诉我如果我不使用bundle,只使用intent,而使用bundle,将arraylist传递给第二个活动会有什么不同吗…非常感谢你的帮助。非常感谢。恐怕这不能帮助我解决java.lang.NullPointerException错误。你能帮我解决这个错误吗?你还明白吗正在处理java.lang.NullPointerException错误..解释您从何处获得它..请查看问题的最后一部分..相同的点..在for循环中..您能告诉我,如果我将arraylist传递给第二个活动,而不使用bundle,只使用intent,这会有什么不同吗。。。
Bundle bundle = new Bundle();
bundle.putStringArray(key, news);
myIntent.putExtra("pass",bundle);
startActivity(myIntent);