我有兩個活動。在我的主要活動我創建的意圖,開始另一種:Android:OnClickListener拋出NullPointerException
Intent intent = new Intent(context, Settings.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
,這裏是第二個活動應該啓動代碼:
public class Settings extends Activity {
Button settingsBack;
//Some other layout resources
final Context context = this; //Creating reference to this Activity Context
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help);
//References to layout resources
settingsBack = (Button) findViewById(R.id.settingsBack);
//...
//-----
//Assigning listeners to Buttons
settingsBack.setOnClickListener(listenerBack);
//-----
}
//Button listeners definitions
final OnClickListener listenerBack = new OnClickListener() {
public void onClick(View v) {
finish();
}
};
//-----
}
但是,當本次活動應該開始,我在該行分配了一個NullPointerException,在這裏我將Listener分配給Button。我試圖清理項目,以防R文件沒有正確生成,但它沒有解決問題。第二項活動是在manifest文件中聲明:
<activity android:name=".Settings" android:label="@string/app_name"></activity>
我敢肯定,它只是一個簡單的小問題的地方,但我不能找到它:(感謝您的幫助
也發佈了help.xml – nandeesh 2012-08-15 12:54:08
如果你的layout.help確實包含settingsBack按鈕,並且當你調試你的應用程序,並且你看到settingsBack(Button)爲null,那麼我看不到任何其他原因,導致R文件的某些問題或類似的東西。也許嘗試關閉/刷新/清理項目和/或關閉Eclipse。 – Warlock 2012-08-15 12:56:19
nandeesh,你剛剛解決了它:)我從另一個已經完成的活動派生出這個代碼,我總忘了改變內容視圖:)我現在覺得很愚蠢,謝謝! – 2012-08-15 13:01:30