Android使用edittext从arra获取特定元素

时间:2015-07-06 00:08:30

标签: android arrays android-edittext

我在xml中有数组,我正在尝试使用来自用户输入的数字从数组中获取特定元素,但点击按钮时我的应用程序崩溃。

foreach

这是我的XML:

span4

2 个答案:

答案 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中创建了一个虚拟字符串数组用于测试。它工作正常。如果您仍然遇到问题,请提供更多有关正在发生的事情的说明。