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