Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android:字符串数组(复制全部或从另一个带条件的字符串数组中选择) 情况:_Android_Arrays_String - Fatal编程技术网

android:字符串数组(复制全部或从另一个带条件的字符串数组中选择) 情况:

android:字符串数组(复制全部或从另一个带条件的字符串数组中选择) 情况:,android,arrays,string,Android,Arrays,String,我在资源中有一个字符串数组,它由所有类型的问题组成 例如,如果用户单击所有类型以选择全部,则选择问题字符串数组将复制所有问题中的所有项目 然而,如果用户点击特定类型的问题,比如只选择与动物相关的问题,那么selection\u question字符串数组将复制all\u question中包含“动物”这个词的所有项目 我的代码如下所示: 声明: String[] all_Question ; String[] selection_Question; all_Question = getReso

我在资源中有一个字符串数组,它由所有类型的问题组成

例如,如果用户单击所有类型以选择全部,则
选择问题
字符串数组将复制
所有问题
中的所有项目

然而,如果用户点击特定类型的问题,比如只选择与动物相关的问题,那么
selection\u question
字符串数组将复制
all\u question
中包含“动物”这个词的所有项目

我的代码如下所示:

声明:

String[] all_Question ;
String[] selection_Question;
all_Question = getResources().getStringArray(R.array.all_Q_List); 
all_numberofquestions = all_Question.length;

// reset 
selection_numberofquestions = 0;
selection_Question = new String[0];
j =0;
for (int i = 0; i < all_numberofquestions ; i++) 
{
    selection_Question[i] = all_Question [i];
}
for (int i = 0; i < all_numberofquestions ; i++) 
{
    if (all_Question [i].contains("animal"))
    {
        selection_Question [j] = all_Question [i];
        j++;
    }
}
OnCreate:

String[] all_Question ;
String[] selection_Question;
all_Question = getResources().getStringArray(R.array.all_Q_List); 
all_numberofquestions = all_Question.length;

// reset 
selection_numberofquestions = 0;
selection_Question = new String[0];
j =0;
for (int i = 0; i < all_numberofquestions ; i++) 
{
    selection_Question[i] = all_Question [i];
}
for (int i = 0; i < all_numberofquestions ; i++) 
{
    if (all_Question [i].contains("animal"))
    {
        selection_Question [j] = all_Question [i];
        j++;
    }
}
如果选择全部:

String[] all_Question ;
String[] selection_Question;
all_Question = getResources().getStringArray(R.array.all_Q_List); 
all_numberofquestions = all_Question.length;

// reset 
selection_numberofquestions = 0;
selection_Question = new String[0];
j =0;
for (int i = 0; i < all_numberofquestions ; i++) 
{
    selection_Question[i] = all_Question [i];
}
for (int i = 0; i < all_numberofquestions ; i++) 
{
    if (all_Question [i].contains("animal"))
    {
        selection_Question [j] = all_Question [i];
        j++;
    }
}
我不明白为什么这是不允许的?如何修改上述代码

谢谢

这就是问题所在

selection\u Question=新字符串[0]

应该是的

selection_Question=新字符串[所有_numberofquestions]


甚至您的
所有问题
都可能是
空白/空的

我想知道这是否会影响选择问题的大小?这是因为如果只是使用标准进行选择,那么选择问题的大小将小于所有问题的大小,那么后面剩余的插槽是否会受到影响?我的意思是,是否可以创建一个字符串,准备从零开始,当有新项目时,只需继续添加和扩展。。。但不是一开始就预定……或者这真的很重要吗?(注:我检查了所有问题,问题不是空的,它包含400个项目,我检查了所有问题[0]它显示字符串,所以[100].[200])听起来像是你想要一个
ArrayList而不是数组。@pearmak-正如
Geobits
提到的,你应该查看
ArrayList
。这会减少你很多工作。