gpt4 book ai didi

java - 将 TextView 设置为数组值

转载 作者:行者123 更新时间:2023-11-30 03:06:45 24 4
gpt4 key购买 nike

我正在尝试制作一个小应用程序,它接受一个 EditText 数字的输入并从一个数组中获取相应的值并将其显示在 TextView 中

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final EditText e = (EditText) findViewById(R.id.editText1);
final TextView t = (TextView) findViewById(R.id.textView1);
Button b = (Button) findViewById(R.id.button1);

Resources res = this.getResources();

String arr[] = getResources().getStringArray(R.array.example);

final Editable input = e.getText();

final String in2 = input.toString();
int number = Integer.parseInt(in2);

if(number < 0){
t.setText("Input is too small");
} else if (number > 666){
t.setText("Input is too large");
} else {
final String out = arr[number].toString();
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
t.setText(in2);
}
});
}
}

我想要这样,如果输入为 0 并且单击按钮,则 TextView 为 A。

<string-array name="example">
<item >A</item>
<item >B</item>
<item >C</item>
<item >D</item>
</string-array>

不幸的是,每当我在模拟器或手机上启动它时,它都会立即崩溃。有谁知道我做错了什么?

最佳答案

问题是当您启动您的应用程序时,您的 editText 是空的。

因此 in2 等于 "",因此您无法将此值解析为整数。

将它移到您的 onClick 方法中:

b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int number = Integer.parseInt(e.getText().toString());
if(number < 0){
t.setText("Input is too small");
} else if (number >= arr.length){
t.setText("Input is too large");
} else {
t.setText(arr[number]);
}
});
}

关于java - 将 TextView 设置为数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21683434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com