0

我在运行时根据数据库中的记录数为 viewflipper 创建子视图,膨胀视图并添加到 viewflipper。在单击 viewflipper 的每个子视图时,应该有带有一些子项的 newviewflipper。如何做到这一点?

ViewFlipper.xml

<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/flipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

CustomViewSample.xml

<?xml version="1.0" encoding="utf-8"?>        
<com.sample.MjpegView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fullscreen_video"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

Java 代码

ViewFlipper viewflipper = (ViewFlipper)findViewById(R.id.flipper);

- **livevideocount** is an integer contains no of records from table.

for(int i=0;i<livevideocount;i++)
{
  MjpegView mv = (MjpegView)inflater.inflate(R.layout.CustomViewSample,null);
  mv.setVisibility(MjpegView.VISIBLE);
  viewflipper.addView(mv);
}

单击此 MjpegView 对象应生成另一个具有 3 个子视图的 viewflipper。

谁能帮我?

4

1 回答 1

0

您不应该直接将动态内容膨胀到 ViewFliper 中。

您应该将dyna_layout添加为<LinearLayout />或 添加<RelativeLayout />到您的ViewFlipper.xml中,将dyna_layout其视为 ViewGroup:

ViewGroup parent = (ViewGroup)(viewflipper.findViewById(R.id.dyna_view));

MjpegView mv = (MjpegView)inflater.inflate(R.layout.CustomViewSample, parent);
mv.setVisibility(MjpegView.VISIBLE); //may use or not
parent.addView(mv);
于 2012-08-29T12:34:38.560 回答