在爲Android編碼時,我看到從editText字段獲取文本的兩種主要方式。第一種方式似乎很常用,看起來有點像這樣。如何從Android的EditText字段獲取輸入?
display = (EditText) findViewById(R.id.editText1);
displayContents = display.getText().toString();
displayTwo = (EditText) findViewById(R.id.editText2);
displayText = (Button) findViewById(R.id.button1);
displayText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
displayTwo.setText(displayContents);
}
這似乎使用mainActivity類中的clickListener來檢測點擊,然後找到文本字段的值。
但是,當我在瀏覽Google's official Android tutorial時,他們使用了另一種方法。他們先加入這行代碼到按鈕:
android:onClick="sendMessage";
再有這種方法,而不是onClickListener:
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
在那之後,我創建了做了一個新的XML文件與新的活動一個不同的圖形用戶界面,並具有以下的新類:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
這似乎有按鈕廣播的消息,而不是具有無源偵聽器,然後觸發新的活性。
因此,畢竟,我想我的問題是哪種方法更好用?從技術和設計的角度來看,哪一種適用於什麼情況?比如,我什麼時候會使用每一個?
首先,你可能會說的是如何將點擊監聽器附加到某個視圖,因此問題的標題很混亂。其次,你在這篇文章的第二部分中提出的問題應該分成幾個獨立的SO問題。目前,您的問題太寬泛而模糊 – Egor 2014-12-07 14:05:07
哦,對不起,我還是新來的Stack Exchange。我會編輯我的問題只包括第一個。順便說一句,你認爲我應該改變我的頭銜,因爲我不確定我進入這裏的事情。另外,如果我想更深入地解釋意圖,我可以問這裏嗎?我只是想知道,因爲我真的不明白,我想要一個更人性化的答案來解釋事情。 – Saamoz 2014-12-07 14:32:02