簡體   English   中英

如何在Android啟動時關閉活動

[英]How to close an activity at launch in Android

在我的應用程序中,我有兩個活動。 在啟動時,我在第一個活動中顯示一個編輯文本框和一個按鈕。 單擊該按鈕后,它將移至下一個活動。

在此之前,鍵入編輯框后,它將被存儲在數據庫中。 活動開始后,它將檢查數據庫。 如果數據庫為空,則顯示第一個活動,否則,如果數據庫已滿,我想直接顯示第二個活動。 但這在我的代碼中沒有發生。 請有人幫我嗎? 我想知道我要去哪里錯了...

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

我想可能是因為

 startActivityForResult(myIntent, 0);
        finish();

完成將要接收結果的活動沒有意義。

嘗試一下startActivity() ,您實際上不需要第一個調用finish()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM