如何将多个userInputs传递给ArrayList?

时间:2017-04-03 21:35:25

标签: java android arraylist

我尝试将5个用户编辑的EditText字段传递到ArrayList,以便在下一个活动中填充ToggleButon

我不知道为什么我的java代码中出现"method call expected"错误。

我已经启动了userInput ArrayList我的活动,但仍然撞墙。

非常感谢任何代码建议或指向某些有用文档的链接

public class MainActivity extends AppCompatActivity {


EditText venueOption1;
EditText venueOption2;
EditText venueOption3;
EditText venueOption4;
EditText venueOption5;

Button UpdateVenueButton;

public static ArrayList<String> userInput;



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

    venueOption1 = (EditText) findViewById(R.id.venueOption1);
    venueOption2 = (EditText) findViewById(R.id.venueOption2);
    venueOption3 = (EditText) findViewById(R.id.venueOption3);
    venueOption4 = (EditText) findViewById(R.id.venueOption4);
    venueOption5 = (EditText) findViewById(R.id.venueOption5);


    UpdateVenueButton = (Button) findViewById(R.id.button);

    userInput = new ArrayList<>(4);




    UpdateVenueButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            venueOption1 = (EditText) findViewById(R.id.venueOption1);
            getUserInput(userInput.get(0));

            venueOption2 = (EditText) findViewById(R.id.venueOption2);
            getUserInput(userInput(1));

            venueOption3 = (EditText) findViewById(R.id.venueOption3);
            getUserInput(userInput(2));

            venueOption4 = (EditText) findViewById(R.id.venueOption4);
            getUserInput(userInput(3));

            venueOption5 = (EditText) findViewById(R.id.venueOption5);
            getUserInput(userInput(4));

            Intent intent = new Intent(v.getContext(), VenueOptions.class);
            startActivity(intent);
        }
    });


}

1 个答案:

答案 0 :(得分:1)

错误是因为java期望你在arraylist上调用一个方法而不是你只是在括号附近放置括号。这在java语法中没有意义。可以使用[]直接访问数组元素,但不能直接访问ArrayList元素,必须使用get(index)方法。

而不是

getUserInput(userInput(0));

你应该做

getUserInput(userInput.get(0));