在Android中以编程方式添加视图后丢失EditText样式

时间:2012-04-24 14:47:35

标签: android android-edittext viewflipper

我有一个名为向导的布局,里面有一个空的ViewFlipper。

我有其他视图,包括这个'向导',并以编程方式将子项添加到向导内的ViewFlipper。我遇到的问题是其中一个孩子有一个EditText,而这个View失去了它的默认样式。我尝试在xml文件中设置所有内容并且问题消失了,所以问题在于以编程方式添加视图。我也尝试在主容器上调用invalidate()(在下面的代码中:@+id/recarga_celular_main),但没有任何反应。 可以在以下链接中看到编辑文本:EditText weird style problem

视图是这样的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/recarga_celular_main"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/theme_home_background"
    android:gravity="center_horizontal|top" >
...

    <CustomWizard
        android:id="@+id/recargaCelular_wizard"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="top"
        android:background="@drawable/theme_layer_blue_bottom_black"
        android:gravity="center_horizontal|center_vertical"  >


    </CustomWizard>
...

</RelativeLayout>

'向导'类似于:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/touch_wizard_main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent"
    android:gravity="center|top"
    android:orientation="vertical" >

...

        <ViewFlipper
            android:id="@+id/wizard_flipper"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/aceptar_limpiar_btns"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true" />
...

</LinearLayout>

在java代码中,首先我将视图添加到鳍状肢,然后我显示所需的子项:

flipper.addView(step.getView(), flipper.getChildCount() - 1);
...
flipper.setDisplayedChild(index);

修改

手动设置默认的EditText样式:

<EditText
 style="@style/some_style"
 android:background="@android:drawable/edit_text" 
 android:gravity="left"
 android:hint="Celular" />

0 个答案:

没有答案