标签:java android
package yjm.com.five; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; /** * Created by yjm18 on 2015/6/10. */ public class LoginActivity extends Activity implements View.OnClickListener { private EditText mETLoginNameValue; private EditText mETLoginPasswordValue; private Button mBtn_login; private Button mBtn_register; private Toast toast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); } //初始化view视图 @Override public void setContentView(int layoutResID) { if(layoutResID==R.layout.login){ super.setContentView(layoutResID); initData_login(); } if(layoutResID==R.layout.main_ui_bak){ super.setContentView(layoutResID); } } //初始化 main_ui_bak.xml入口 protected void initData_main_ui_bak(){ } //初始化login_xml入口 public void initData_login() { initView_Login(); initClickListenerRegister_login(); } //初始化login_xml 里面的控件 public void initView_Login() { mETLoginNameValue = (EditText) findViewById(R.id.EditText_loginName_value); mETLoginPasswordValue = (EditText) findViewById(R.id.EditText_loginPassword_value); mBtn_login = (Button) findViewById(R.id.btn_login); mBtn_register = (Button) findViewById(R.id.btn_register); mETLoginNameValue = (EditText) findViewById(R.id.EditText_loginName_value); mETLoginPasswordValue = (EditText) findViewById(R.id.EditText_loginPassword_value); mBtn_login = (Button) findViewById(R.id.btn_login); mBtn_register = (Button) findViewById(R.id.btn_register); } //注册login_xml里面的控件监听 public void initClickListenerRegister_login() { mBtn_login.setOnClickListener(this); mBtn_register.setOnClickListener(this); mBtn_login.setOnClickListener(this); mBtn_register.setOnClickListener(this); } @Override public void onClick(View viewControl) { // login_xml控件获取 if (viewControl.getId() == R.id.btn_login) { if (mETLoginNameValue.getText().toString().equals("shaqiang") && mETLoginPasswordValue.getText().toString().equals("123456")) { toast = Toast.makeText(this, "登陆成功,进行跳转...", Toast.LENGTH_SHORT); toast.show(); Intent intent = new Intent(); // intent.setClass(this,MainUIActivity.class); // this.startActivity(intent); // finish(); setContentView(R.layout.main_ui_bak); } else { toast = Toast.makeText(this, "用户名或密码错误,请重新输入..", Toast.LENGTH_SHORT); toast.show(); } } } // }
//初始化view视图 @Override public void setContentView(int layoutResID) { if(layoutResID==R.layout.login){ super.setContentView(layoutResID); initData_login(); } if(layoutResID==R.layout.main_ui_bak){ super.setContentView(layoutResID); initData_login(); } }
在上面的方法里 main_ui_bak 视图 添加 initData_login();方法异常中止, 因为这个方法运行两次,初期以为是 android在重构 里面的变量两次报错,按照Java 成员变量的引用 是可以随便修改的,所以添加了两次初始化试了一下 ,把方法去掉了,果然不是这个的原因,后来在找了下错误,原来是 setContentView 已经把login.xml视图替换掉了,在引用上面视图的控件初始化 就会报错。
本文出自 “yjm199” 博客,谢绝转载!
标签:java android
原文地址:http://yjm199.blog.51cto.com/4408395/1661164