2014-01-27 54 views
0

在我的應用程序中有一個登錄頁面,它是第一個活動。在通過登錄頁面成功輸入後,我不想在第一個活動後看到登錄頁面use.but每次應用程序打開我需要登錄page.thats爲什麼我不使用共享preferrence.please幫助我。刪除活動堆棧中的前一個活動,同時啓動下一個活動

etuserid = (EditText) findViewById(R.id.etuserid); 
     etpass = (EditText) findViewById(R.id.etlogpassword); 
     login = (Button) findViewById(R.id.btlogin); 
     namevaluepair = new ArrayList<NameValuePair>(); 

     login.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       userid = etuserid.getText().toString(); 
       pass = etpass.getText().toString(); 

       String url = "http://mytesting.hostingsiteforfree.com/POS/login.php"; 
       new LoginTask().execute(url, userid, pass); 

      } 
     }); 
     // finish(); 
    } 
+0

嘗試調用「完成()」到您的LoginTask,在那裏你正在進入下一個活動 – Dimmerg

+0

活動在堆棧的方式推的onPOstExecute這樣的活動推送的第一不能刪除第一個我想,在登錄後使用偏好設置或在第二項活動上重寫onBackPressed()以跳過登錄活動。 – Saqib

+1

它可以被刪除。嘗試從活動A調用活動B,其中A - 應用程序中的第一個活動,並在startActivity()之後的下一行中調用finish() - 它將起作用。 – Dimmerg

回答

1

這與行爲中的「閃屏」類似。爲了實現這一點,您需要在開始下一個活動之後致電finish()(您已註釋掉)。你爲什麼評論說,沒有做你想做的事?

// Start your app main activity 
Intent i = new Intent(SplashScreen.this, MainActivity.class); 
startActivity(i); 

// close this activity 
finish(); 

http://www.androidhive.info/2013/07/how-to-implement-android-splash-screen-2/

+0

謝謝你的工作。感謝你的回覆 – Noufal

1

寫這篇文章時,你開始新的活動:

Intent intent = new Intent(this, NewActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
+0

我在我的第一個活動wrriten,但當退出鍵按登錄頁面出現之前退出應用程序。 – Noufal

0

您可以清除棧,甚至使用setFlags()方法的特定任務。

要了解更多關於您可以傳遞給setFlags()方法的不同標誌,請通過this鏈接!