无法在ViewFlipper中动态添加TextView
问题描述:
我正在制作应用程序,使用ViewFlipper显示不同视图(如图像(ImageView),视频(VideoView)和文本(TextView))的幻灯片。我的问题是,当我添加图像或视频到ViewFlipper它完美的工作。但是,当我尝试添加TextView时,ViewFlipper不显示任何东西。检查下面的代码,让我知道我该如何解决这个问题,或者我在编码方面做了什么错误?无法在ViewFlipper中动态添加TextView
这是我如何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>
原因:您是直接绑定您的TextView
有View
。
希望这会对你有用。
+0
谢谢。它正在工作。 – Dhaval
+0
@Dhaval,很高兴为您效劳。 –
确保ems.get(0).getMessage()不能为空或空白 –
它不为空。它包含消息。 – Dhaval