2013-03-25 43 views
2

我是一個試圖學習Java/Android編程的新手。執行back和cancelbutton的區別?

我在Eclipse中爲Android做一個應用程序並創建了一些按鈕。 我有一個後退和一個取消按鈕。

例子:

我有一個EditText上有,你可以在你的名字寫。如果你寫你的名字並按下後退按鈕,那麼你將回到前一個活動,但是如果你去了同一個活動,那麼你仍然會看到你在EditText中寫的名字。

但是,如果您按下取消按鈕,您將回到上一個活動,但是當您回來時,您的名稱將爲空。我將「殺死」或「停止」活動。

這是我用於Backbutton的代碼,你會用什麼來取消按鈕? 謝謝你。

public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.buttonBack: 
     Intent intent = new Intent (AllActivity.this, MenuActivity.class); 
     startActivity(intent); 
     break; 

回答

2

對於取消按鈕,您可以使用下面的方法,這會殺死活動。

finish() 

所以在你的代碼會是這個樣子:

public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.cancel: 
     finish(); 
     break; 
1

有按流程或應用程序流的需求在此相差不大。如果您打開任何對話框並提供取消按鈕,將會以相同的方式關閉/解除對話框,而後退按鈕則會執行此操作。雖然爲了實現Activity,如果你爲了關閉當前活動而實現,你可以通過調用finish()方法完成這兩個選項。由於後退按鈕通常用於完成當前活動並返回。

1

另一種方法來做到這一點,你可能會感興趣的是你自己消滅EditText的內容。 您需要在XML文件中爲EditText定義一個ID,以便可以通過編程方式訪問它。

<EditText 

佈局的東西在這裏:

android:layout_width="fill_parent" 

... 然後id屬性

android:id="@+id/edit_text_id" 
    > 

然後在你的代碼,你把下面的類(不是內部的任何方法):

EditText anEditText; 

然後在您的onCreate(),佈局膨脹之後(如果事先談到它會導致應用程序崩潰):

anEditText = (EditText) findViewById(R.id.edit_text_id); 

名稱edit_text_id並不顯著,但它確實是我們在使用佈局文件

旁邊的添加,的onClick方法(後case語句)取消:

//this wipes the text from the textbox 
anEditText.setText(""); 
// add the rest of the back button code after this and your good! 

祝您好運!請記住,我們都是新手一次。如果你想成爲一名優秀的android程序員,我建議你首先在Java中獲得強大的背景知識。這本免費的書非常幫助我!

Java Notes

相關問題