2011-05-12 35 views
0

私のアプリでは2つのアクティビティがあります。起動時に、最初のアクティビティで編集テキストボックスとボタンを表示しています。ボタンをクリックすると、次のアクティビティに移動します。Androidでの起動時にアクティビティを閉じる方法

これまでに、編集ボックスに入力すると、データベースに格納されます。アクティビティが開始されると、アクティビティはデータベースをチェックします。データベースが空の場合は、最初のアクティビティが表示されます。データベースが満たされている場合は、2番目のアクティビティを直接表示します。しかし、私のコードでは起こっていません。誰か助けてください?私は私が間違っているつもりですどこかを知りたい...

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

私はそれはそれは結果を受け取ることになる活動を終了しても意味がありませんので、この

startActivityForResult(myIntent, 0); 
     finish(); 

のかもしれないと思います。

startActivity()を試してみると、最初にfinish()に電話する必要はありません。

+1

*必要はありませんが、したいことがあります。それは、あなたが2回目のアクティビティに入ったときに、戻るボタンを押したときに何をしたいかによって異なります。あなたが最初にfinish()を呼んでいなければ、それはそのものに戻るでしょう。あなたがこのアプリケーションを入力する前に何が起こっていたのに戻って行きます終了()を呼び出す場合。 – FoamyGuy

+0

またfinish()はonDestroy()を呼び出します... –

関連する問題