Java – viewpagers in listview displays blank list items
•
Java
[editor]: Thank you for all your meaningful answers. Now the problem is solved. Thank you for your help Similar problem: Android: I am unable to have viewpager wrap_ CONTENT
I'm trying to implement the UI of my application: I want a listview with viewpager for each row
This is my file:
MainActivity. java
package com.condi; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; public class MainActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setlistadapter(new Cardlistadapter(this,getFragmentManager())); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; } }
Cardlistadapter. java
package com.condi; import java.util.List; import android.app.FragmentManager; import android.content.Context; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; public class Cardlistadapter extends BaseAdapter { private Context context; private FragmentManager fragmentManager; private List<Profile> profiles; Cardlistadapter(Context context,FragmentManager fragmentManager) { this.context = context; this.fragmentManager = fragmentManager; this.profiles = new DatabaseHelper(context).getProfiles(); } @Override public int getCount() { return profiles.size(); } @Override public Profile getItem(int position) { return profiles.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position,View convertView,ViewGroup parent) { convertView = View.inflate(context,R.layout.profile_card,null); CardPagerAdapter mCardPagerAdapter = new CardPagerAdapter( fragmentManager); ViewPager viewPager = (ViewPager) convertView.findViewById(R.id.pager); viewPager.setAdapter(mCardPagerAdapter); viewPager.setId(R.id.pager); return convertView; } }
profile_ card. XML (the problem comes from wrap_content)
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4dp" android:layout_marginLeft="6dp" android:layout_marginRight="6dp" android:layout_marginTop="4dp" android:background="@drawable/card_background" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> </FrameLayout>
CardPagerAdapter. java
package com.condi; import android.app.Fragment; import android.app.FragmentManager; import android.support.v13.app.FragmentPagerAdapter; public class CardPagerAdapter extends FragmentPagerAdapter { public CardPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 0: return new Fragment1(); case 1: return new Fragment2(); } return null; } @Override public int getCount() { return 2; } }
Fragment1. java
package com.condi; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment1 extends Fragment { public Fragment1() { } @Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) { return inflater.inflate(R.layout.preference_category,container,false); } }
Fragment2. java
package com.condi; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment2 extends Fragment { public Fragment2() { } @Override public View onCreateView(LayoutInflater inflater,false); } }
The database that provides the configuration file works well The problem is that I get an empty list with the correct number of items, but it doesn't show viewpager at all screenshot of my app
What on earth did I do wrong?
Solution
Try changing the height of the viewpager in XML wrap_ Content does not work
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码