【问题标题】:Cannot be able to add TextView in ViewFlipper dynamically无法在 ViewFlipper 中动态添加 TextView
【发布时间】:2016-05-16 11:01:11
【问题描述】:

我正在制作一个应用程序来使用 ViewFlipper 显示图像(ImageView)、视频(VideoView)和文本(TextView)等不同视图的幻灯片。我的问题是,当我将图像或视频添加到 ViewFlipper 时,它运行良好。但是,当我尝试添加 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.get(0).getMessage() 不能为空或空白
  • 不为空。它包含消息。

标签: android textview viewflipper


【解决方案1】:

您的 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 直接绑定。

希望这对你有用。

【讨论】:

  • @Dhaval,很高兴为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多