switch(v.getId())其中v无法解析

时间:2016-02-16 21:41:37

标签: java android eclipse

这只是一个简单的登录活动,但我需要帮助,因为我真的与v变量堆栈,无法在我的java文件的switch部分解析。我是Android开发的新手,这是我刚开始的一个项目。我正在使用Eclipse。这是我的java文件:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login_screen);
    name=(EditText) findViewById(R.id.editText1);
    pass=(EditText) findViewById(R.id.editText2);
    login=(Button) findViewById(R.id.button1);
    cancel=(Button) findViewById(R.id.button2);
    login.setOnClickListener((android.view.View.OnClickListener) this);
    cancel.setOnClickListener((android.view.View.OnClickListener) this);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.login_screen, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    String na=name.getText().toString();
    String pa=pass.getText().toString();


    switch (v.getId()) {
    case R.id.button1:
        if(na.equals("BoltonLab")&& pa.equals("password")){
            Intent openmainscreen=new Intent ("com.example.handjointstemp.MAINSCREEN");
            startActivity(openmainscreen);
        }

        break;
    case R.id.button2:
        name.setText(" ");
        pass.setText(" ");

        break;

    default:
        break;
    }

}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    finish();
}

1 个答案:

答案 0 :(得分:0)

首先将此添加到您的活动声明中,实现clickListener接口。

public class MyActivity extends Activity implements View.OnClickListener

它强制您使用以下签名覆盖onClick方法

@Override
public void onClick(View v)

您可以访问v.getId()并将其与按钮的ID进行比较。

另外,在你的onCreate中,设置你需要的按钮的onClickListener:

login.setOnClickListener(this) ;
cancel.setOnClickListener(this);