Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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/3/xpath/2.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 如何使用条件为ListView生成字符串数组,以确定字符串元素是否应在列表中?_Android_Arrays_Listview_If Statement_Tabview - Fatal编程技术网

Android 如何使用条件为ListView生成字符串数组,以确定字符串元素是否应在列表中?

Android 如何使用条件为ListView生成字符串数组,以确定字符串元素是否应在列表中?,android,arrays,listview,if-statement,tabview,Android,Arrays,Listview,If Statement,Tabview,这是我在网站上的第一个问题,我希望不会太尴尬。我正在为Android游戏制作一个清单标签。我在课程开始时声明了静态变量,根据变量是否满足要求(变量必须至少等于一个才能显示在清单中),我想生成一个字符串数组,填充一个列表,该列表将显示清单中的内容。当我在Eclipse中编写代码时,它告诉我它是无错误的,但是当我尝试在Android模拟器中运行它时,我得到一个错误,必须强制退出。这是代码供参考 (很抱歉,如果代码格式设置已关闭。夜间浏览器有时很奇怪。) 当我删除if语句并离开数组时,没有问题。它像往

这是我在网站上的第一个问题,我希望不会太尴尬。我正在为Android游戏制作一个清单标签。我在课程开始时声明了静态变量,根据变量是否满足要求(变量必须至少等于一个才能显示在清单中),我想生成一个字符串数组,填充一个列表,该列表将显示清单中的内容。当我在Eclipse中编写代码时,它告诉我它是无错误的,但是当我尝试在Android模拟器中运行它时,我得到一个错误,必须强制退出。这是代码供参考

(很抱歉,如果代码格式设置已关闭。夜间浏览器有时很奇怪。)

当我删除if语句并离开数组时,没有问题。它像往常一样编译,我可以将数组插入ListView。我已经花了一段时间研究这个问题,并尝试使用switch/case语句代替ifs,但它并没有正常工作(在条件中不会考虑多个变量)。If-else-If不起作用,因为如果找到真值,语句将不会继续到前面的条件


我对这一点很不熟悉,所以我不知道该怎么做。我想不出另外一种方法来填充清单,而不使用条件来评估项目是否“存在”(在游戏中)。

您有一个逻辑错误,而不是语法错误

这些整数是空的

public static int shieldr, shieldb, shield, sword, swordh, blade, breast, gaunt, greave, rune, fishingp, pick, pickh;
你正在尝试评估它们

if (shieldr>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS};
            if (shieldb>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS,ShieldBS};
            if (shield>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS,ShieldBS,ShieldS};

...
...
这会引发一个空异常,在表达式中使用变量之前,变量需要值


玩得开心

您想要
>1
,还是
>=1
?在任何情况下,我们都不知道你犯了什么错误,也不知道如何帮助你。当你说某件事情不起作用时,几乎总是最好尽可能具体。“我有一个错误”(什么错误?)并且必须强制退出(为什么?)。。。“它没有正常工作”(到底出了什么问题?)。。。“If-else-If不起作用”(到底出了什么问题?)如果要向表达式添加多个条件,请使用逻辑运算符(x=y)&&(x=z)。。。(x=y)|(x=z)。。。谢谢大家的建议。以后我会更清楚我遇到了哪些具体问题,感谢Kickaha指出空值的问题。
if (shieldr>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS};
            if (shieldb>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS,ShieldBS};
            if (shield>1)
                CONTENTS = new String []
                        {WaterS,IronS,WoodS,WaterS,ShieldRS,ShieldBS,ShieldS};

...
...