Android 使用2个按钮时,在键入new View.OnClickListener(){}中复制方法onClick(View)
我想为我的应用程序使用2个按钮 一个用于在EditText字段中输入值,另一个用于打开另一个类 但是,我得到了这个错误:在类型new View.OnClickListener(){}中复制方法onClick(View) 我必须改变什么Android 使用2个按钮时,在键入new View.OnClickListener(){}中复制方法onClick(View),android,Android,我想为我的应用程序使用2个按钮 一个用于在EditText字段中输入值,另一个用于打开另一个类 但是,我得到了这个错误:在类型new View.OnClickListener(){}中复制方法onClick(View) 我必须改变什么 package com.example.app; public class MainActivity extends Activity { protected TextView textField; EditText ed;
package com.example.app;
public class MainActivity extends Activity {
protected TextView textField;
EditText ed;
Button b;
int number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button page2 = (Button)findViewById(R.id.page2);
page2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0){
Intent intent = new Intent(getApplicationContext(),menu2.class);
startActivity(intent);
ed = (EditText) findViewById(R.id.editText1);
b = (Button) findViewById(R.id.button1);
}
public void onClick(View view){
number = Integer.parseInt(ed.getText().toString());
if(number < 11) ed.setTextColor(Color.GREEN);
else if(number > 10 && number < 21) ed.setTextColor(Color.YELLOW);
else ed.setTextColor(Color.RED);
}
});
}
}
package com.example.app;
公共类MainActivity扩展了活动{
受保护的文本视图文本字段;
编辑文本;
按钮b;
整数;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
按钮page2=(按钮)findViewById(R.id.page2);
page2.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
Intent Intent=新的Intent(getApplicationContext(),menu2.class);
星触觉(意向);
ed=(EditText)findViewById(R.id.editText1);
b=(按钮)findViewById(R.id.button1);
}
公共void onClick(视图){
number=Integer.parseInt(ed.getText().toString());
如果(数字<11)ed.setTextColor(颜色为绿色);
否则,如果(编号>10&&编号<21)ed.setTextColor(颜色.黄色);
else ed.setTextColor(Color.RED);
}
});
}
}
XML
您可以为每个按钮创建一个setOnClickListener,例如:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0){
Intent intent = new Intent(getApplicationContext(),menu2.class);
startActivity(intent);
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0){
//do whatever you want
}
});
希望这能帮助你像这样做
package com.example.app;
// interface of OnClickListener
public class MainActivity extends Activity implements OnClickListener{ {
protected TextView textField;
EditText ed;
Button b;
int number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button page2 = (Button)findViewById(R.id.page2);
ed = (EditText) findViewById(R.id.editText1);
b = (Button) findViewById(R.id.button1);
// set button listeners
// each button should have its own listener
Button .setOnClickListener(this);
b .setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
// if button page2 is clicked
case R.id.page2:
Intent intent = new Intent(getApplicationContext(),menu2.class);
startActivity(intent);
break;
//if button b is clicked
case R.id.button1:
number = Integer.parseInt(ed.getText().toString());
if(number < 11) ed.setTextColor(Color.GREEN);
else if(number > 10 && number < 21) ed.setTextColor(Color.YELLOW);
else ed.setTextColor(Color.RED);
break;
}
}
package com.example.app;
//OnClickListener的接口
公共类MainActivity扩展活动实现OnClickListener{{
受保护的文本视图文本字段;
编辑文本;
按钮b;
整数;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
按钮page2=(按钮)findViewById(R.id.page2);
ed=(EditText)findViewById(R.id.editText1);
b=(按钮)findViewById(R.id.button1);
//设置按钮侦听器
//每个按钮都应该有自己的侦听器
setOnClickListener(此);
b.setOnClickListener(本);
}
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
开关(v.getId()){
//如果单击按钮page2
案例R.id.page2:
Intent Intent=新的Intent(getApplicationContext(),menu2.class);
星触觉(意向);
打破
//如果单击按钮b
案例R.id.button1:
number=Integer.parseInt(ed.getText().toString());
如果(数字<11)ed.setTextColor(颜色为绿色);
否则,如果(编号>10&&编号<21)ed.setTextColor(颜色.黄色);
else ed.setTextColor(Color.RED);
打破
}
}
}
如果您想在xml上单击declare onClick,我希望它能有所帮助
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button page2 = (Button) findViewById(R.id.page2);
page2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//for your pageButton
}
});
}
public void onClick(View view) {
//for your button1
}
你需要删除android:onClick=“onClick”line我刚刚删除了,但仍然收到相同的错误。我得到了重命名“onClick”方法的建议。请修复缩进并删除双空格。ooo我现在收到了错误。你无法创建方法你的侦听器。你需要向新按钮添加新的侦听器,就像你的页面按钮一样
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button page2 = (Button) findViewById(R.id.page2);
page2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//for your pageButton
}
});
}
public void onClick(View view) {
//for your button1
}