У меня есть макет с 3 кнопками Создать, Показать и установить. при нажатии кнопки «Создать» и «Показать» они отлично работают и передаются в следующую деятельность независимо от того, что это такое. , но мне нужно проверить кнопку настройки. то есть, если таблица паролей существует, тогда она должна перейти в password.class, а если не существует, то в Setting.class.проверка состояния активности
при попытке этого кода инструкция else показывает мертвый код и не отвечает.
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class MainActivity extends Activity {
Button create, show, setting;
String pass1,pass2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
create = (Button)findViewById(R.id.button1);
create.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent1 = new Intent(view.getContext(), Create.class);
startActivityForResult(myIntent1, 0);
}
});
show = (Button)findViewById(R.id.button2);
show.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent2 = new Intent(view.getContext(), Password.class);
startActivityForResult(myIntent2, 0);
}
});
SQLiteDatabase db = openOrCreateDatabase("passmanage", MODE_PRIVATE, null);
Cursor c = db.rawQuery("select * from password", null);
c.moveToFirst();
if(c!=null)
{
setting = (Button)findViewById(R.id.button3);
setting.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent3 = new Intent(view.getContext(), Password.class);
startActivityForResult(myIntent3, 0);
}
});
}
else
{
setting = (Button)findViewById(R.id.button3);
setting.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent3 = new Intent(view.getContext(), Setting.class);
startActivityForResult(myIntent3, 0);
}
});
}
}
}
я пытался таким образом слишком-
setting = (Button)findViewById(R.id.button3);
setting.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
SQLiteDatabase db = openOrCreateDatabase("passmanage", MODE_PRIVATE, null);
Cursor c = db.rawQuery("select * from password", null);
c.moveToFirst();
if(c!=null)
{
Intent myIntent3 = new Intent(view.getContext(), Password.class);
startActivityForResult(myIntent3, 0);
}
else
{
Intent myIntent3 = new Intent(view.getContext(), Setting.class);
startActivityForResult(myIntent3, 0);
}
}});
но и здесь я получаю сообщение об ошибке, как мертвый код еще условия.
я пытался таким образом также
setting = (Button)findViewById(R.id.button3);
setting.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
SQLiteDatabase db = openOrCreateDatabase("passmanage", MODE_PRIVATE, null);
Cursor c = db.rawQuery("select * from password", null);
c.moveToFirst();
if(c!=null)
{
do
{
pass1 = c.getString(c.getColumnIndex("pass"));
pass2 = c.getString(1);
} while(c.moveToNext());
if(pass1.compareTo("")==0 && pass2.compareTo("")==0)
{
Intent myIntent3 = new Intent(view.getContext(), Password.class);
startActivityForResult(myIntent3, 0);
}
else
{
Intent myIntent3 = new Intent(view.getContext(), Setting.class);
startActivityForResult(myIntent3, 0);
}
}
}});
но получать закрыт неожиданно!
У меня есть еще одно небольшое сомнение. мне нужно создать намерение с другим именем для разных кнопок в одной и той же деятельности?
Вы хотите сказать, что я должен проверить, что таблица имеет данные? – Abb
эй, я тоже так старался. он неожиданно закрывается. – Abb