片段未出现在托管活动中

时间:2018-11-29 14:55:30

标签: android android-fragments

我正在向活动添加一个片段,如下代码所示。但在运行时,我发现该片段从未显示。 我检查了片段布局及其在主布局中的视图组。

请让我知道为什么它不显示。

MainAct

I am adding a fragment to an activity as shown below in the code. but at run time i found that the fragment is never shown.

我检查了片段布局及其在主布局中的视图组。

请让我知道为什么它不显示。

MainAct

public class ActMain extends AppCompatActivity {

public static String TAG = ActMain.class.getSimpleName();
private FragmentButtons mFragButtons = null;
//private Fragment mFragmentButtons = null;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d(TAG, "@onCreate");

    this.initViews();
}
}

片段

public class FragmentButtons extends Fragment {

private final static String TAG = FragmentButtons.class.getSimpleName();
public interface iActionHandler {
    public void onButton00Clicked();
    public void onButton01Clicked();
    public void onButton02Clicked();
    public void onButton03Clicked();
}



@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    Log.d(TAG, "@onCreateView");
    View view = inflater.inflate(R.layout.frag_buttons, container, true);
    return view;
}
}

mainLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="2">

<fragment
    android:id="@+id/actMain_FragButtons"
    android:name="com.example.pc_amr.servicewithid_01.fragments.FragmentButtons"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<!--<FrameLayout
    android:id="@+id/actMain_FragContents00"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="3"/>-->


</LinearLayout>

fragLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="3">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:orientation="horizontal"
    android:layout_weight="1"
    android:weightSum="4">

    <Button
        android:id="@+id/btn00"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn01"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn02"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn03"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:orientation="horizontal"
    android:layout_weight="1"
    android:weightSum="4">

    <Button
        android:id="@+id/btn10"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn11"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn12"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn13"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:orientation="horizontal"
    android:layout_weight="1"
    android:weightSum="4">

    <Button
        android:id="@+id/btn20"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn21"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn22"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btn23"
        android:layout_width="0dp"
        android:onClick="onButtonClicked"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

</LinearLayout>

</LinearLayout>

3 个答案:

答案 0 :(得分:0)

之所以没有显示它,是因为在您的onCreate方法中,您没有执行setContentView,这就是为什么它为空并且没有显示的原因。

添加以下行:

setContentView(R.layout.mainLayout);

这应该允许显示片段。

答案 1 :(得分:0)

在onCreate中使用它 setContentView(R.layout.mainLayout);

答案 2 :(得分:0)

我用这种方式,它与我合作

var comma_decoded = window.btoa(',');
var comma_encoded = window.atob(comma_decoded);

var log = eval(comma_encoded);

var x = 1 log y = 2;

console.log(x + ' ' + y);