在我的应用中,我有两项活动。在发布时,我在第一个活动中显示编辑文本框和按钮。单击该按钮后,它将移至下一个活动。
在此之前,当输入编辑框时,它将存储在数据库中。当活动开始时,它会检查数据库。如果数据库为空,则显示第一个活动,如果数据库已填满,我想直接显示第二个活动。但它并没有发生在我的代码中。请有人帮帮我吗?我想知道我哪里出错...
super.onCreate(savedInstanceState);
db = openOrCreateDatabase("TestData.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
final String CREATE_TABLE_COUNTRIES ="CREATE TABLE IF NOT EXISTS tbl_countries (id TEXT);";
db.execSQL(CREATE_TABLE_COUNTRIES);
ContentValues values = new ContentValues();
values.put("id", textvalue );
Cursor cx = db.rawQuery("select id from tbl_countries" , null);
counter=0;
if (cx != null )
{
if (cx.moveToFirst())
{
do
{
counter=counter+1;
}
while (cx.moveToNext());
}
}
db.close();
if(counter == 0)
{
setContentView(R.layout.main);
et = (EditText)findViewById(R.id.editText1);
textvalue = et.getText().toString();
b = (Button)findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent myIntent = new Intent(getBaseContext(), SeconDClass.class);
startActivityForResult(myIntent, 0);
finish();
}
});
}
else if(counter>=1)
{
Intent myIntent = new Intent(getBaseContext(), SeconDClass.class);
startActivityForResult(myIntent, 0);
finish();
}
答案 0 :(得分:0)
我认为可能是因为这个
startActivityForResult(myIntent, 0);
finish();
完成接收结果的活动是没有意义的。
只试用startActivity()
,您不需要第一个调用finish()
。