我是Java编程新手,我设法创建一个小计算器作为一个小测试应用程序。 但我认为我正在使用多种代码来满足我的需求。 所以我给了一个Button一个名字:buttonname 现在要点击时更改它的文字我需要:
public class MyActivity extends Activity {
Button buttonname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
buttomname = (Buttom) findViewById(R.id.buttomname);
}
public void buttonnameOnClick(View v) {
button1.setText ("NewText")
}
}
(我已经把我必须添加的所有东西都搞砸了) 所以我必须做以上所有事情+连接按钮点击xml文件。
所以我想知道是否有更简单的方法来定义所有对象,所以我不必这样做:按钮按钮名称; 和按钮名=(Buttom)findViewById(R.id.buttomname ); 一直。
我想知道是否有更简单的方法来自动创建按钮事件。
(我已经习惯了Visual Studio,但现在我在Android Studio中迷失了。所以在Visual Studio上我只需要双击按钮并输入:buttonname.Text =“NewText”;)
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,你有错字
buttomname = (Buttom) findViewById(R.id.buttomname);
应该是
buttomname = (Button) findViewById(R.id.buttomname);
你忘记了;在一行“你的IDE没有向你显示错误!!” 中的小修正
public void buttonnameOnClick(View v) {
button1.setText ("NewText")
}
应该是
buttomname.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
buttomname.setText ("NewText");
}
});
inside protected void onCreate。
第二种方法: 如果您在XML中定义了android:onclick =“buttonnameOnClick”,那么
public void buttonnameOnClick(View v) {
button1.setText ("NewText")
}
要更正
public void buttonnameOnClick(View v) {
buttomname.setText ("NewText");
}
答案 2 :(得分:0)
您的代码部分正确,
(Buttom) is wrong change it to (Button)
另一件事
public void buttonnameOnClick(View v) {
button1.setText ("NewText")
}
可以改为:
public void buttonnameOnClick(View v) {
Button buttonTemp = (Button)v;
buttonTemp.setText ("NewText");
}
假设您正在从布局xml文件中调用该方法。
答案 3 :(得分:0)
如果您有许多相同的按钮需要处理
,您可以循环执行@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
for (int btn_id : new int[]{
R.id.buttomname
, R.id.buttomname2
, R.id.buttomname3
}) {
View v = view.findViewById(btn_id);
if (v != null) {
v.setOnClickListener(onClickButton);
}
}
}
//
private View.OnClickListener onClickButton = new View.OnClickListener() {
@Override
public void onClick(View view) {
// .. handle click
if (view.getId()==R.id.buttomname2){
}
}
答案 4 :(得分:-1)
必须对Button对象使用onClickListener()方法。 你的代码就像这个结构;
buttonname = (Button)findViewById(R.id.buttonname);
buttonname.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
我建议您访问按钮的Button | Android Dev页面。