如何在按钮点击时添加数组中的数据?

时间:2016-05-11 06:05:30

标签: android arrays

    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循环结束时,我想显示我的数组。

4 个答案:

答案 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);