片段中的简单EditText

时间:2013-11-12 20:36:01

标签: android android-fragments android-edittext

我想在我的视图分页器(滑块)的片段中创建一个编辑文本。这是我在DetailFragment2.java中已经完成的工作:

public View onCreateView(LayoutInflater inflater,
        Bundle savedInstanceState) {

LayoutInflater inflater2 = getActivity().getLayoutInflater();
aView = inflater2.inflate(R.layout.details2, null);
EditText notatki = (EditText) aView.findViewById(R.id.editText1);

//notatki = (EditText) getView().findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", "raz dwa trzy"));
return notatki;      
}

和details2.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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
     >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="#00000000"
        android:ems="10"
        android:inputType="textMultiLine" >

        <requestFocus />
    </EditText>

    </RelativeLayout>

我仍然无法在该视图中看到任何edittext字段。我做错了什么?

我以这种方式改变它并且它有效,感谢您的帮助:

View view = inflater.inflate(R.layout.details2, container, false);
EditText notatki = (EditText) view.findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", "raz dwa trzy"));
return view;

1 个答案:

答案 0 :(得分:1)

您的编辑文字已存在,但您只是设置了透明背景,因此您无法看到它。

android:background="#00000000" 

你有4对零,所以格式是 AARRGGBB 第一个 AA - 在你的情况下为零 - 设置alpha = 0所以背景是完全透明的。

尝试将背景设置为#RR0000或仅使用 RRGGBB 格式(#000000)

修改 由于上面没有解决问题,尝试更新你的布局膨胀方式

public View onCreateView(LayoutInflater inflater, ViewGroup parent,
        Bundle savedInstanceState) {

aView = inflater.inflate(R.layout.details2, parent, false);
EditText notatki = (EditText) aView.findViewById(R.id.editText1);

//notatki = (EditText) getView().findViewById(R.id.editText1);
SharedPreferences settings = this.getActivity().getSharedPreferences("PREFS", 0);
notatki.setText(settings.getString("value", "raz dwa trzy"));
return notatki;      
}

以下两行是最重要的:

public View onCreateView(LayoutInflater inflater, ViewGroup parent,
                Bundle savedInstanceState) {

aView = inflater.inflate(R.layout.details2, parent, false);