【发布时间】:2013-12-16 18:10:14
【问题描述】:
我实现了一个底部按钮栏(类似于 iPhone 中的标签栏控制器)。为此,我创建了一个通用布局(button_bar.xml,5 个图像按钮)并包含在其他活动 xml 文件中。为了管理点击操作,我创建了一个从 Activity 扩展的 BaseActivity.java 并执行点击操作。我从这个 BaseActivity 扩展了其他需要按钮栏的活动,效果很好。现在我想为这些按钮包含一个选定状态,但是当我访问基本活动中的按钮时,它会给出一个空指针错误。我该如何解决这个问题。
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 本身中实现所选功能?
【问题讨论】:
-
创建父活动的对象并从中访问
-
@PiyushGupta 制作一个活动对象???怎么样?
标签: android