int size = mcq.size();
String arr[] = null;
int i;
{
for (i = 0; i < size; i++) {
if (op1.isPressed()) {
arr[i] = tv1.getText().toString();
// Log.e("Array",arr[i]);
} else if (op2.isPressed()) {
arr[i] = tv2.getText().toString();
//Log.e("Array",arr[i]);
} else if (op3.isPressed()) {
arr[i] = tv3.getText().toString();
// Log.e("Array",arr[i]);
} else if (op4.isPressed()) {
arr[i] = tv4.getText().toString();
//Log.e("Array",arr[i]);
}
我试图在按下按钮时将数据存储在数组中,但它总是显示为null。当for循环结束时,我想显示我的数组。
答案 0 :(得分:2)
这里,Java中的数组有一个大小,所以你不能这样做。而不是这个 使用清单,
ArrayList<String> arr = new ArrayList<String>();
为了使用String数组:
String[] arr = new String[SIZEDEFNE HERE];
你的回答:
ArrayList<String> arr = new ArrayList<String>();
int i;
{
for (i = 0; i < size; i++) {
if (op1.isPressed()) {
arr.add(tv1.getText().toString());
} else if (op2.isPressed()) {
arr.add(tv2.getText().toString());
} else if (op3.isPressed()) {
arr.add(tv3.getText().toString());
} else if (op4.isPressed()) {
arr.add(tv4.getText().toString());
}
使用
重复值String s = arr.get(0);
答案 1 :(得分:1)
这是因为你的字符串数组是null
。用大小
String[] arr = new String[size];
答案 2 :(得分:1)
试试Array List
。在主java中使用以下代码
final ArrayList<String> list = new ArrayList<String>();
Button button= (Button) findViewById(R.id.buttonId);
final EditText editText = (EditText) findViewById(R.id.editTextId)
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
list.add(editText.getText().toString());
}
});
答案 3 :(得分:0)
避免在arraylist中重复。你可以使用arraylist比String array更快
ArrayList<String> list = new ArrayList<String>();
list.add("Krishna");
list.add("Krishna");
list.add("Kishan");
list.add("Krishn");
list.add("Aryan");
list.add("Harm");
System.out.println("List"+list);
HashSet hs = new HashSet();
hs.addAll(list);
list.clear();
list.addAll(hs);