概述: 我在我的程序中有兩個頁面;主頁面和其他頁面。Android 2.3.3,Eclipse - 切換到其他佈局頁面後無法使用按鈕
在主頁上我有兩個按鈕;一個按鈕切換到另一個頁面,並且Add按鈕將一些值添加到一起。
在另一頁上,我有一個按鈕可以將我帶回主頁面。
目前我可以在兩個頁面之間切換而沒有問題。
我的問題: 當我第一次打開程序時,我可以點擊添加按鈕,它會將值加在一起。我可以繼續在兩個頁面之間切換,而不會出現問題。 但是,當我切換頁面後,當我點擊添加按鈕時,我的程序崩潰。
這是我的java文件。
package com.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class AswitchActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button enterScoreButton = (Button) findViewById(R.id.button1);
enterScoreButton.setOnClickListener(enterScoreButtonListener);
}
public OnClickListener enterScoreButtonListener = new OnClickListener()
{
@Override
public void onClick(View v1)
{
}
public int addEntireHole(int addedHoles) {
return (addedHoles);
}
};
//This section goes from the main page to the other page
public OnClickListener Startpage = new OnClickListener(){
public void onClick(View v2){
}
};
public void onCreate(View view){
Button buttonSwitchMain = (Button)findViewById(R.id.btnSwitch);
buttonSwitchMain.setOnClickListener(Startpage);
setContentView(R.layout.other);
}
//This section goes from the other page to the main page
public OnClickListener otherpage = new OnClickListener(){
public void onClick(View v3){
}
};
public void onCreate3(View view2){
Button buttontoMain = (Button)findViewById(R.id.btnBack);
buttontoMain.setOnClickListener(otherpage);
setContentView(R.layout.main);
}
}
感謝您的回覆和建議。我嘗試了您的建議,並且EnterScoreButton似乎超出了範圍。所以然後我在它之前添加了按鈕enterScoreButton =(Button)findViewById(R.id.button1),它讓我編譯並運行,並沒有通過任何錯誤,但它似乎也沒有按下後執行任何代碼輸入按鈕... – Muldoon 2012-02-23 14:25:35
那麼,這是我以前想知道的。當你點擊按鈕時,偵聽器的onClick方法被調用 - 但你的代碼不包含任何代碼。請嘗試添加Log.v(「」,「CLICKED」);並查看當您單擊按鈕時LogCat是否顯示消息。 – m1ntf4n 2012-02-23 14:55:56
上面的例子是我的主程序的簡化版本;我試圖剝奪它只有最基本的要領。我以前不知道如何使用Log.v,但發現它非常有用。當我將Log.v放入onClick時,它確實顯示在LogCat中。我試過然後將Log.v複製到代碼的addEntireHole部分,並且它永遠不會被執行。我的印象(可能是錯誤的),因爲代碼是enterScoreButtonListener的一部分,它的一切內容將被執行。 – Muldoon 2012-02-23 17:05:01