[英]Save EditText to ArrayList in Android Studio - EDIT 1
我試圖從EditText
字段中獲取輸入文本,保存String
,然后將其添加/保存到另一個Java class
擁有的ArrayList
中。 (我的MainActivity
顯示了我存儲在ArrayList
中的所有facts
,這是可行的。)但是,從EditText向ArrayList
添加新的String
不起作用。
謝謝您的幫助!
FactBook.java
public class FactBook { public ArrayList<String> mFacts = new ArrayList<String>(Arrays.asList( "Quote 1", "Quote 2")); public String getFact() { String fact = ""; Random randomGenerator = new Random(); int randomNumber = randomGenerator.nextInt(mFacts.size()); fact = mFacts.get(randomNumber); return fact; } public void addFact(String thought) { mFacts.add(thought); };
InputActivity.java
public class InputActivity extends AppCompatActivity { private Button mSaveButton; private EditText mTextThought; private FactBook mFactBook = new FactBook(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_input); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mSaveButton = (Button) findViewById(R.id.saveButton); mTextThought = (EditText) findViewById(R.id.thoughtText); View.OnClickListener click = new View.OnClickListener() { @Override public void onClick(View view) { String thought = mTextThought.getText().toString().trim(); mFactBook.addFact(thought); Toast.makeText(InputActivity.this, "Your thought has been added!!", Toast.LENGTH_LONG).show(); mTextThought.setText(""); } }; mSaveButton.setOnClickListener(click); } }
我認為您的代碼有問題。 addFact代碼不應該是這樣的:
public void addFact(String thought) {
mFacts.addFact(thought);
};
public void addFact(String thought) {
this.addFact(thought);
也許您應該像這樣更改代碼:
public void addFact(String thought) {
mFacts.addFact(thought);}
您的addFact
方法應該是,
public void addFact(String thought) {
this.mFacts.add(thought);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.