无法在 ViewFlipper 中动态添加 TextView

Cannot be able to add TextView in ViewFlipper dynamically

我正在制作一个应用程序,使用 ViewFlipper 显示不同视图的幻灯片,如图像 (ImageView)、视频 (VideoView) 和文本 (TextView)。我的问题是,当我将图像或视频添加到 ViewFlipper 时它正在工作 perfectly.But,当我尝试添加 TextView 时,ViewFlipper 没有显示任何内容。检查以下代码,让我知道如何解决这个问题或我在编码时做错了什么?

这是我在 ViewFlipper 中添加 TextView 的方式:

LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.ems_source, relativeLayout, false );
TextView tvEms = (TextView) view.findViewById(R.id.tvEms);
tvEms.setText(ems.get(0).getMessage());


viewFlipper.addView(tvEms);
viewFlipper.setInAnimation(context, R.anim.slide_from_left);
viewFlipper.setOutAnimation(context, R.anim.slide_out_right);
viewFlipper.showNext();

这是我的ems_source.xml:

<TextView android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Large Text"
    android:id="@+id/tvEms"
    android:textSize="20sp"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    xmlns:android="http://schemas.android.com/apk/res/android" />

这是我的 DisplayActivity XML:

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/relative"
    android:background="#000000"
    tools:context="com.signageocean.signageocean.activities.ActivityDisplay"
    android:gravity="center">

    <ViewFlipper
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewFlipper"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentStart="true" >

    </ViewFlipper>

</RelativeLayout>

您的 ems_source.xml 应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<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:background="#000000"
    android:gravity="center">

 <TextView android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Large Text"
    android:id="@+id/tvEms"
    android:textSize="20sp"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />


</RelativeLayout>

原因:您直接将 TextViewView 绑定。

希望这对你有用。