Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用2个按钮时,在键入new View.OnClickListener(){}中复制方法onClick(View)_Android - Fatal编程技术网

Android 使用2个按钮时,在键入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;

我想为我的应用程序使用2个按钮

一个用于在EditText字段中输入值,另一个用于打开另一个类

但是,我得到了这个错误:在类型new View.OnClickListener(){}中复制方法onClick(View)

我必须改变什么

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
}