2015-12-03 106 views
3

我想添加一個片段到我的FrameLayout,它似乎是正確添加,但後來我看不到TextView的文本。Android的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

首先簡單地改變這種

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; 
} 
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"/>