Java 为什么这条代码会成为祝酒词?没有听众
我找到了一段制作祝酒词的代码。作为一个新的android开发者,我知道,我们有一个监听器来让按钮工作。但这里没有听众。那么,为什么这段代码会起作用呢Java 为什么这条代码会成为祝酒词?没有听众,java,android,android-toast,Java,Android,Android Toast,我找到了一段制作祝酒词的代码。作为一个新的android开发者,我知道,我们有一个监听器来让按钮工作。但这里没有听众。那么,为什么这段代码会起作用呢 public class MainActivity extends Activity { private String mButtonMessageTemplate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns
public class MainActivity extends Activity {
private String mButtonMessageTemplate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonMessageTemplate=getString(R.string.button_messege_template);
}
public void showButtonText(View clickedButton){
Button button=(Button) clickedButton;
CharSequence text=button.getText();
String message=String.format(mButtonMessageTemplate, text);
showToast(message);
}
}
另一个问题是
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hi_button_lebel"
android:onClick="showButtonText"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bye_button_lebel"
android:onClick="showButtonText" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/yo_button_lebel"
android:onClick="showButtonText" />
android:onClick=“showButtonText”这是使用非onClick侦听器方法!怎样??
请给我一个详细的答复。提前感谢。:)
那是你的听众。单击该视图时,将执行showButtonText方法
这是xml代码中的View.OnClickListener。当它被编译后,它将变成您熟悉的java代码
注意:在xml代码中放置onclickListener是一个坏习惯。你应该做的是:
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
public void onclick(View v){
//do what happens on click of button1
showToast("button1 clicked.");
}
});
那是你的听众。单击该视图时,将执行showButtonText方法
这是xml代码中的View.OnClickListener。当它被编译后,它将变成您熟悉的java代码
注意:在xml代码中放置onclickListener是一个坏习惯。你应该做的是:
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
public void onclick(View v){
//do what happens on click of button1
showToast("button1 clicked.");
}
});
Android允许您使用
Android:onClick
属性自动创建一个侦听器,在活动中调用该方法
该方法必须接收类型为View
的参数才能工作。Android允许您使用Android:onClick
属性自动创建一个侦听器,该侦听器在活动
类中调用该方法
该方法必须接收类型为View
的参数才能工作。所有按钮都设置了onClick属性以调用该方法
showButtonText(View clickedButton)
此方法中有一条语句用于显示toast
showToast(message);
所以每次你点击任何一个按钮,它都会显示祝酒词 所有按钮都设置了onClick属性来调用该方法
showButtonText(View clickedButton)
showToast(message);
此方法中有一条语句用于显示toast
showToast(message);
所以每次你点击任何一个按钮,它都会显示祝酒词 这里是View.java中的代码。
showToast(message);
如果视图具有“onClick”属性,则视图的构造函数将创建并注册“OnClickListener”
下面是View.java中的代码。
如果视图具有“onClick”属性,则视图的构造函数将创建并注册“OnClickListener”
解释为什么你认为它是一种“坏习惯”可能会有帮助。稍后我会补充,但是很简单。很难找到!您的onclick逻辑位于两个不同的文件中!难以阅读。初学者很难知道。另外,我不认为有任何的AdvangTATE把它放在XML中。解释为什么你认为它是一个“坏习惯”可能会有帮助。稍后我会添加,但是一个非常简单的。很难找到!您的onclick逻辑位于两个不同的文件中!难以阅读。初学者很难知道。而且,我认为用xml表示也没有什么优势。