我在xml中有数组,我正在尝试使用来自用户输入的数字从数组中获取特定元素,但点击按钮时我的应用程序崩溃。
foreach
这是我的XML:
span4
答案 0 :(得分:0)
要从资源获取数组,请在onCreate()
:
ArrayList<String> yourArray;
yourArray = getResources().getStringArray(R.array.your_array_name_in_xml);
之后,您只需致电yourArray.get(index)
即可获取其内容。
鉴于此,你可以这样做以获得你想要的东西:
int index = Integer.parseInt(yourEditText.getText().toString());
String textFromArray = yourArray.get(index);
yourTextView.setText(textFromArray);
答案 1 :(得分:0)
int[] myArray = getResources().getIntArray(R.array.my_xml_int_array);
EditText editText = (EditText) findViewById(R.id.editText);
int b = Integer.valueOf(editText.getText().toString());
// Check the number is within range
if (b >= 0 && b < (myArray.length - 1)) {
textView.setText(String.valueOf(myArray[b]));
}
您还应该确保在layout xml中将EditText的输入类型设置为number
。
<EditText
android:id="@+id/editText"
...
android:inputType="number"/>
其他强>
根据我在你的问题中的评论“从EditText中删除onClick”
您的最终EditText
定义应如下所示:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/button4"
android:layout_toRightOf="@+id/button4"
android:inputType="number"/>
最重要的是从android:onClick="press"
删除EditText
。
运行时,在编辑文本中输入您的号码,然后按button4
(已标记为“新按钮”。然后,TextView
中正确显示了所需的字符串。
我已经测试了你的代码,完全按原样复制/粘贴它,并且只改变了所描述的`EditText',并在xml中创建了一个虚拟字符串数组用于测试。它工作正常。如果您仍然遇到问题,请提供更多有关正在发生的事情的说明。