2013-02-19 92 views
1

我試着去通過點擊一個按鈕從大約對話框返回主活動:如何通過點擊按鈕返回上一個活動?

public class AboutActivity extends Activity implements OnClickListener{ 
@Override 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.about); 
} 

@Override 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    SharedPreferences prefs = getSharedPreferences("com.example.tiocontas",MODE_PRIVATE); 
    SharedPreferences.Editor prefsEditor = prefs.edit(); 
    prefsEditor.putBoolean("FirstTime", false); 
    finish(); 
    //this.onBackPressed(); 
} 
} 

我已經沒有任何結果都嘗試完成()和onBackPressed(),即時通訊做錯事會有人給我一些提示?

+2

是您'的onClick()'連接到您在未示出的一些方式按鈕,通過XML或代碼不會發生什麼變化顯示?當你點擊按鈕時會發生什麼,我什麼都不假? – codeMagic 2013-02-19 20:35:09

回答

0

從我在代碼中可以看到的內容中可以看出,您的onClick()方法沒有附加按鈕。您可以通過xml或編程方式以兩種方式完成此操作。

在XML

<Button 
... 
android:onClick="functionName"/> 

然後在你的代碼,定義你的功能,你在你的XML

public void functionName(View v) 
{ 
    // some code 
    finish(); 
} 

編程方式命名,聲明你的按鈕

Button aBtn = (Button) findViewById(R.id.button_id); 
aBtn.setOnClickListener(new OnClickListener() {   
    @Override 
    public void onClick(View v) 
    { 
     // some code 
     AboutActivity.this.finish() 
    } 
}); 

如果您已經以某種方式將你的按鈕連接到onClick(),但不顯示,那麼你可能會fi完成主要活動。在這種情況下,描述當你按一下按鈕,顯示您的主要活動

Docs for OnClickListener()

+0

對不起,我認爲這會偵聽任何按鈕,並且它會由onClick(View arg0)變量標識。它的工作現在,謝謝! – 2013-02-19 21:18:56

+0

不需要,它需要以某種方式連接到監聽器,以便函數知道哪個按鈕可以執行該代碼,否則,您將無法在「Activity」中使用多個onClick()。很高興我能夠提供幫助 – codeMagic 2013-02-19 21:23:36

1

看來你已經完成了;您之前的活動。從MainActivity中刪除完成(),然後到達aboutActiivty。

1

您可以撥打btnclick onBackPressed()函數,然後可以在課程結束時定義下面的代碼 :

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     Intent intent = new Intent(this, YourActivity.class); 
     startActivity(intent); 
    } 

希望這會幫助你。