我們可以使用<include />
將佈局包含到另一箇中。如何重用活動代碼?
我包括activity_main.xml中使用<include />
到activity_second.xml。
activity_main.xml有一個<TextView />
和一個<Button />
。 而<Button />
有一個處理程序doThis(View v){..}
在MainActivity.java
如何重用在SecondActivity.java
我們可以使用<include />
將佈局包含到另一箇中。如何重用活動代碼?
我包括activity_main.xml中使用<include />
到activity_second.xml。
activity_main.xml有一個<TextView />
和一個<Button />
。 而<Button />
有一個處理程序doThis(View v){..}
在MainActivity.java
如何重用在SecondActivity.java
您可以使用該片段
的按鈕處理程序沒有按鈕處理的事情。這是OnClickListener
。要重複使用,請將該來源複製到第二個活動課程或創建和SecondAcivity
將擴展的類別,並在其中添加通用代碼。
我做了一些類似於您的問題。不要以爲比使用Fragments更好,但總而言之。
你有你的layout_main.xml。您可以導入其他XML(menu.xml文件)到,像這樣:
<include
android:id="@+id/layoutMenu"
layout="@layout/menu" />
創建Menu.java類這樣的(我複製這從我自己的類,所以它是不完整的,但對於它的想法) :
public class Menu {
ImageView buttonNieuws;
public void set(Activity activity, String currentPage) {
// Button NIEUWS
buttonNieuws = (ImageView) activity.findViewById(R.id.button_nieuws);
if (!currentPage.equals("nieuws")) {
buttonNieuws.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(),
Nieuws.class);
view.getContext().startActivity(intent);
}
});
} else {
buttonNieuws.setImageDrawable(activity.getResources().getDrawable(
R.drawable.button_nieuws_on));
} ...
然後在你的主活動類,你可以使用這樣的代碼給它的所有聯繫在一起:
Menu menu = new Menu();
menu.set(this, currentPage);
巨大的缺點是無限的活動得到堆放在彼此的頂部。這是我的臨時解決方案,因爲我還沒有進入碎片。