相关疑难解决方法(0)

将ViewPager作为ListView中的行放置

我尝试使用ViewPager作为ListView中的行,但是得到一个奇怪的行为 - 只有第一行有效,但是当我滚动列表时它会消失.当我滚动一个空行时,突然看到上面的行.似乎Android创建了一个单一的寻呼机并将其用于所有行.

这是我在启动应用程序时看到的内容:

屏幕截图

这是我的行布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:paddingBottom="2dp" >

    <TextView
        android:id="@+id/textViewFriendName"
        style="@style/TextStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/myFriendsBg"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="TextView" />

    <View style="@style/DividerHorizontalStyle_gray" />

        <android.support.v4.view.ViewPager
            android:id="@+id/pagerMyFriendHabits"
            android:layout_width="match_parent"
            android:layout_height="@dimen/DefaultImageHeight" />


    <View style="@style/DividerHorizontalStyle" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的List适配器:

public class MyFriendsAdapter extends BaseAdapter implements OnClickListener {

    private ArrayList<UiD_UserFriend> mItems;
    private Context mContext;
    private FragmentManager mFragmentManager;

    public MyFriendsAdapter(Context context, ArrayList<UiD_UserFriend> items, FragmentManager fragmentManager) {
        mContext = context;
        mItems = items;
        mFragmentManager = fragmentManager;
    }

    @Override
    public int getCount() {
        return …
Run Code Online (Sandbox Code Playgroud)

android listview android-widget android-layout android-fragments

16
推荐指数
1
解决办法
1万
查看次数

ListView行项目中的ViewPager

我已经阅读了很多关于这个问题的相关问题.然而,他们都没有得到回答.我试图在寻呼机内有两个布局ViewPagerListView地方的每一行添加一个.我相信这是可行的,因为SwipeListView.

现在我已经实现了它.但是,显示空白页面,中间有一条线.没有行出现.

在此输入图像描述

这是我的代码:

MainActivity + ArrayAdapter

public class MainActivity extends Activity {

    ListView list;
    String[] heros;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        heros = getResources().getStringArray(R.array.heros);

        list = (ListView) findViewById(R.id.listView1);
        list.setAdapter(new CustomAdapter(this, heros));
    }

    public class CustomAdapter extends ArrayAdapter<String>
    {
        String[] heros;
        Context context;
        public CustomAdapter(Context context, String[] heros) {
            super(context, R.layout.pager_item_list, R.id.listView1, heros);
            // TODO Auto-generated constructor stub
            this.heros = heros;
            this.context = context;
        }

        @Override
        public View getView(int position, View convertView, …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-viewpager

7
推荐指数
1
解决办法
3825
查看次数