Android页面跳转失败(已在AcivityMainfest中声明过)

开始学Android,在写一个软件的注册页面时出现了问题。点击绑定好的页面跳转的按钮,却显示该工程stop,跳转失败。但是!我已经在AndroidMainfest中定义好了activity,实在找不出错误。求助各位。
以下是代码部分。由于发送验证码部分不是我负责的,所以直接在数据类中把验证码定为1111
public class register_1_phone extends Activity{

private Button sure_code;
private EditText edit_phone;
private EditText edit_code;
private Button get_code;

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.register_1_phone);

    findView(); 
    sure_code.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            String mCode=edit_code.getText().toString().trim();
            //获得线程发出的验证码准备与用户输入的验证码比较
            boolean judge=isSameCode(mCode);
            if(judge==true)
            {
                Intent intent=new Intent(register_1_phone.this,register_2_user.class);
                startActivity(intent);
            }
            else
            //弹出对话框显示错误
            {
                creatdialog();
            }
        }

        private boolean isSameCode(String mCode) {
            String code=data_share.get_code();
            if(code.equals(mCode))
                return true;
            else
                return false;
        }

        private void creatdialog() {
            AlertDialog.Builder b=new Builder(register_1_phone.this);
            b.setMessage("您输入的验证码有误,check一下吧~");
            b.setTitle("验证码错误");
            b.setNegativeButton("重试", new DialogInterface.OnClickListener(){
                public void onClick(DialogInterface dialog,int which){
                    dialog.dismiss();
                }
            });
            b.create().show();
        }
    });

    get_code.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            String mphone=edit_phone.getText().toString().trim();//获取手机号
            boolean judge=isMobile(mphone);
            if(judge==false)
            {
                //如果手机号不合法,提示重输
                creatdialog();
            }
            else{
                data_share.set_phone(mphone);
            //接下来新建一个线程去请求验证码

            }
        }
        //判断手机号是否合法的函数
        private boolean isMobile(String mphone) {
            String num="[1][358]\\d{9}";//【1】表示第一位数字为1,【358】表示第二位必为3/5/8中的一个,\\d{9}表示后面是可以是0~9的数字,有9位
            if(TextUtils.isEmpty(mphone)){
                return false;
            }
            else{
                return mphone.matches(num);//字符串是否在给定的正则表达式匹配
            }
        }
        //创建显示手机号错误的对话框
        private void creatdialog() {
            AlertDialog.Builder b=new Builder(register_1_phone.this);
            b.setMessage("您输入了一个来自火星的手机号,换个地球手机号吧~");
            b.setTitle("手机号错误");
            b.setNegativeButton("重试", new DialogInterface.OnClickListener(){
                public void onClick(DialogInterface dialog,int which){
                    dialog.dismiss();
                }
            });
            b.create().show();
        }
    });
}

//绑定界面的控件
private void findView() {
    sure_code=(Button)findViewById(R.id.sure_vrification_code);
    edit_phone=(EditText)findViewById(R.id.edit_phone);
    edit_code=(EditText)findViewById(R.id.edit_vrification_code);
    get_code=(Button)findViewById(R.id.get_vrification_code);
}

}

点下“下一步后”的情况
图片说明
图片说明

建议你结构改成这样:

 public class register_1_phone extends Activity {
    private Button sure_code;
    private EditText edit_phone;
    private EditText edit_code;
    private Button get_code;

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register_1_phone);

        findView();
        registerListener();
    }

    //绑定界面的控件
    private void findView() {
        sure_code=(Button)findViewById(R.id.sure_vrification_code);
        edit_phone=(EditText)findViewById(R.id.edit_phone);
        edit_code=(EditText)findViewById(R.id.edit_vrification_code);
        get_code=(Button)findViewById(R.id.get_vrification_code);
    }

    private void registerListener(){
        sure_code.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                String mCode=edit_code.getText().toString().trim();
                //验证码的非空判断
                if(TextUtils.isEmpty(mCode)){
                    Toast.makeText(getApplicationContext(), "请输入验证码", Toast.LENGTH_SHORT).show();
                    return;
                }
               //获得线程发出的验证码准备与用户输入的验证码比较
                boolean judge=isSameCode(mCode);
                if(judge==true)
                {
                    Intent intent=new Intent(register_1_phone.this,register_2_user.class);
                    startActivity(intent);
                }
                else
                //弹出对话框显示错误
                {
                    createDialog("验证码错误", "您输入的验证码有误,check一下吧~");
                }
            }
        });

        get_code.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                String mPhone=edit_phone.getText().toString().trim();//获取手机号
                boolean judge=isMobile(mPhone);
                if(judge==false)
                {
                    //如果手机号不合法,提示重输
                    createDialog("手机号错误", "您输入了一个来自火星的手机号,换个地球手机号吧~");
                }
                else{
                    data_share.set_phone(mPhone);
                    //接下来新建一个线程去请求验证码

                }
            }
        });
    }

    private boolean isSameCode(String mCode) {
        String code=data_share.get_code();
        if(code.equals(mCode))
            return true;
        else
            return false;
    }

    //判断手机号是否合法的函数
    private boolean isMobile(String mPhone) {
        String num="[1][358]\\d{9}";
        if(TextUtils.isEmpty(mPhone)){
            return false;
        }
        else{
            return mPhone.matches(num);//字符串是否在给定的正则表达式匹配
        }
    }

    //通用dialog,title和msg作为参数传进来
    private void createDialog(String title, String msg) {
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        b.setMessage(msg);
        b.setTitle(title);
        b.setNegativeButton("重试", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog,int which){
                dialog.dismiss();
            }
        });
        b.create().show();
    }

}

其实最重要部分在于开启子线程获取验证码部分,你没贴出来。log错误信息你也贴出来。
1、你先检查下有没加访问网络权限:

 <uses-permission android:name="android.permission.INTERNET" />

2、从EditText获取用户输入验证码,最好先进行非空判断:

  //验证码的非空判断
                if(TextUtils.isEmpty(mCode)){
                        Toast.makeText(getApplicationContext(), "请输入验证码", Toast.LENGTH_SHORT).show();
                        return;
                }

3、创建对话框和验证码校验、验证码获取方法建议不要写在onClickListener监听里面。
4、dialog对话框可以传入title和msg,使用通用dialog。
5、既然是开启子线程获取验证码,应该在主线程获取结果,这里面不清楚你是怎么操作的。可以的话,把相关代码分享出来

你要把异常信息发出来啊

把setOnClickListener中的另外两个方法提到onCreate()外面来

把其他代码也发出来,我也可以学习学习。。。。。。

问题已经解决。是我在两个页面中的按钮同时命名为log_in导致绑定出现了错误从而跳转失败。