在为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