如何在Android中启动时关闭活动

时间:2011-05-12 14:46:38

标签: java android database android-activity

在我的应用中,我有两项活动。在发布时,我在第一个活动中显示编辑文本框和按钮。单击该按钮后,它将移至下一个活动。

在此之前,当输入编辑框时,它将存储在数据库中。当活动开始时,它会检查数据库。如果数据库为空,则显示第一个活动,如果数据库已填满,我想直接显示第二个活动。但它并没有发生在我的代码中。请有人帮帮我吗?我想知道我哪里出错...

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

1 个答案:

答案 0 :(得分:0)

我认为可能是因为这个

 startActivityForResult(myIntent, 0);
        finish();

完成接收结果的活动是没有意义的。

只试用startActivity(),您不需要第一个调用finish()