2016-02-16 1 views
0

Это просто активность входа в систему, но мне нужна помощь, потому что я действительно стекаю с переменной v, которая не может быть разрешена в части переключения моего java-файла. Я новичок в разработке Android, и это проект, который я только начал. Я использую Eclipse. Это мой java-файл:switch (v.getId()) где v не может быть разрешено

@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(); 
} 
+2

Где вы определяете переменную 'V'? [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) может помочь. – radoh

+0

вы сделали копию и вставьте ошибку, где находится «v», начиная с ?? –

+0

Я этого не делаю. Но я стек, потому что я не знаю, как написать эту часть, которая проверяет данные входа для утверждения. Я должен определить v как что? –

ответ

0

Сначала добавьте это в объявление своей деятельности, реализуя интерфейс clickListener.

public class MyActivity extends Activity implements View.OnClickListener 

он навязывает вам переопределить метод OnClick со следующей подписью

@Override 
public void onClick(View v) 

, в которой у вас есть доступ к v.getId() и можете сравнить его с идентификатором кнопок.

Кроме того, в вашем OnCreate, установите onClickListener кнопки вы должны это:

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

Это начало моей активности: public class LoginScreen extends ActionBarActivity реализует OnClickListener { EditText name; EditText pass; Кнопка входа; Кнопка отмены; –

+0

Вы переопределяете неправильный интерфейс clickListener (DialogInterface.OnClickListener), вы должны переопределить View.OnClickListener. –

+0

И когда я использую public void onClick (View v), я получаю «Метод onClick (View) типа LoginScreen должен переопределять или реализовывать метод супертипа» –

Смежные вопросы