我正在尝试将Fragment添加到我的FrameLayout中,似乎它被正确添加,但后来我看不到TextView的文本。
片段布局:
<?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"
>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/text1"
android:text="Hello"
android:background="#34f5d6"/>
</LinearLayout>
FragmentClass:
import android.app.Fragment;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.text.method.CharacterPickerDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
public class TimerClass extends Fragment {
public static Fragment newInstance(Context context) {
TimerClass fragment = new TimerClass();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance){
ViewGroup root=(ViewGroup)inflater.inflate(R.layout.mylayout,container,false);
return root;
}
}
我使用的代码将片段添加到FrameLayout
FragmentTransaction tx= getFragmentManager().beginTransaction();
Fragment fragment= TimerClass.newInstance(getApplicationContext());
tx.replace(R.id.fl, fragment);
tx.commit();
我不明白为什么它不显示文本,我试图改变文本的颜色,但它不起作用。 如果我改变TextView的背景,它的工作原理;如果我在TextView上添加一个OnClockListener,它也可以。只有它不显示文字。
你能帮助我吗?
编辑: 我找到了解决方案:问题出在FrameLayout上;它的顶部部分被动作栏覆盖。 通过修复FrameLayout的布局,问题就消失了。
答案 0 :(得分:0)
首先只需更改此
ViewGroup root=(ViewGroup)inflater.inflate(R.layout.mylayout,container,false);
return root;
到
View root = inflater.inflate(R.layout.mylayout,container,false);
return root;
也是这个
public static Fragment newInstance(Context context) {
TimerClass fragment = new TimerClass();
return fragment;
}
到
public static TimerClass getInstance() {
TimerClass fragment = new TimerClass();
return fragment;
}
答案 1 :(得分:0)
我认为问题仅在于 TextView 的高度和宽度,因为您已将它们视为match_parent
所以尝试替换
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/text1"
android:text="Hello"
android:background="#34f5d6"/>
与
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text1"
android:text="Hello"
android:background="#34f5d6"/>