我已經看到了關於片段的教程,其中主要活動是使用片段後改變片段的按鈕創建的。我的問題是,我可以使用被調用佈局的按鈕而不是主要活動的按鈕來更改片段。這是我目前的困境。之前,我的應用程序運行的意圖是改變活動。但我遇到了一個問題,我需要使用片段來解決它。使用片段內的按鈕更改活動
這裏是我的 「主」 片段代碼:
public class FragmentMain extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_main);
Log.d("Batelec", "fragment main started");
}
public void selectFrag(View view) {
Fragment fr;
fr = new FragmentMain2();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment1, fr);
fragmentTransaction.commit();
}
}
這裏是我的佈局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mypower_build101.FragmentMain" >
<fragment
android:id="@+id/fragment1"
android:name="com.example.mypower_build101.FragmentMain2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
這是我的主要活動的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<Button
android:id="@+id/btnAddDevice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="@string/txtAddDevice"
android:onClick="addClick" />
<Button
android:id="@+id/btnShowDevice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnAddDevice"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
android:text="@string/txtShowDevice"
android:onClick="showClick" />
<Button
android:id="@+id/btnMainRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnShowDevice"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="@string/txtRegister"
android:onClick="registerClick" />
<Button
android:id="@+id/btnShowDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnMainRegister"
android:layout_centerHorizontal="true"
android:layout_marginTop="29dp"
android:text="@string/txtShowDialog" />
<TextView
android:id="@+id/txtStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnShowDialog"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/listViewPadding"
android:layout_marginTop="20dp"
android:text="@string/txtNull"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Switch
android:id="@+id/switchGCM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:checked="false"
android:text="@string/txtConnect2GCM"
android:textOff="@string/txtNo"
android:textOn="@string/txtYes" />
<TextView
android:id="@+id/txtBroadCastMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/lblStatus"
android:layout_alignStart="@+id/lblStatus"
android:layout_below="@+id/lblStatus"
android:layout_marginTop="17dp"
android:gravity="center"
android:text="@string/txtNull"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
,如果我真的需要在我已經運行的活動之外創建按鈕,你可以給我一些關於如何正確編寫代碼的提示,我已經看到使用靜態代碼不是最好的辦法。也給我一些關於如何將新按鈕放入片段的提示,因爲我的主要活動有4個按鈕,這些按鈕已用於更改活動。 所有幫助非常感謝
嘿,我試圖做基於我在這裏上傳圖片我想要什麼。發生的事情是,分散的活動顯示,但它顯示在主要活動的頂部。片段似乎是透明的活動。你能教我如何隱藏主要活動嗎?片段內顯示的活動中的可點擊項也會失去其功能,例如我的微調不能將文本放置在編輯文本上。 – halfBlue3