2017-04-03 226 views
0

我试图将5个用户编辑的EditText字段传递给ArrayList,以在下一个活动中填充ToggleButon如何将多个userInputs传递给ArrayList?

不知道为什么我在我的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

为了帮助我们来帮助你,如果你发布这将是更好[MCVE(http://stackoverflow.com/help/mcve )以及实际的错误文本/堆栈跟踪。 –

+0

请将代码放在您的问题中,而不是链接 –

+0

另外'公共静态Arraylist'是在活动之间传递数据的不好主意。学习正确使用意图额外 –

回答

1

这个错误是因为Java是盼着你呼吁数组列表的方法,而是你只是把括号靠近。这在java语法中没有意义。数组元素可以用[]直接访问,但ArrayList元素不能直接访问,你必须使用get(index)方法。取而代之的

getUserInput(userInput(0)); 

你应该做的

getUserInput(userInput.get(0));