我實現了一個底部按鈕欄(就像iPhone中的標籤欄控制器)。爲此,我創建了一個公共佈局(button_bar.xml,5個圖像按鈕)幷包含在其他活動xml文件中。並且爲了管理點擊操作,我創建了一個從Activity擴展的BaseActivity.java並執行點擊操作。並且我擴展了其他需要使用此BaseActivity的按鈕欄的活動,該工作正常。現在我想包含一個選定的狀態到這些按鈕,但是當我訪問基本活動中的按鈕時,它會給出一個空指針錯誤。我該如何解決這個問題。如何在父活動類(Android)中獲取子活動視圖?
button_bar.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bottomButtonBar"
style="@android:style/ButtonBar"
... >
<ImageButton
android:id="@+id/btnGuests"
android:onClick="showAllGuests"
android:src="@drawable/ic_guest_list" />
<ImageButton
android:id="@+id/btnAddGuest"
android:onClick="selectGuestType"
android:src="@drawable/ic_add_guest" />
<ImageButton
android:id="@+id/btnAddParty"
android:onClick="showAddParty"
android:src="@drawable/ic_add_party" />
....
</LinearLayout>
public class BaseActivity extends Activity {
// common to other activities.
public void showAddParty(View view) {
//showAddParty is one one of the buttons click method. 4 more buttons are there
Intent intent = new Intent(this, AddPartyActivity.class);
startActivity(intent);
// I can get "view.findViewById(R.id.btnAddParty)" here
// but I can't get "findViewById(R.id.btnAddGuest)" here. how this possible
}
}
public class AddPartyActivity extends BaseActivity{
....
}
在這裏,我可以從參數查看相應的視圖,並更改backgroundIbageSource。但是當它轉到從Baseactivity繼承的「AddPartyActivity」時,新圖像會被舊圖像替換。我如何在BaseActivity中實現所選功能?
讓你的父活動和訪問的對象從它 – Piyush
@PiyushGupta使活動的對象???怎麼樣? –