我尝试将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);
}
});
}
答案 0 :(得分:1)
错误是因为java期望你在arraylist上调用一个方法而不是你只是在括号附近放置括号。这在java语法中没有意义。可以使用[]直接访问数组元素,但不能直接访问ArrayList元素,必须使用get(index)方法。
而不是
getUserInput(userInput(0));
你应该做
getUserInput(userInput.get(0));