2017-03-01 7 views
1

Ich bin ein Problem mit Swipe Bildansicht.Android ViewPager in Listview

Ich benutze diese library

Und ich brauche Import in meinem Projekt, aber ich habe ein Problem.

Ich möchte in jeder Zeile in listview verwenden. Aber in meinem listviewAdapter ist highlighteed diesen Code (Code, der tut Swipe Imageview) [genauer getSupportFragmentManager()]

-Code, die aus der Bibliothek verwenden

Fragment demoFragment = Fragment.instantiate(activity, AnimationFragment.class.getName()); 
     FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); 
     fragmentTransaction.replace(R.id.fragment_container, demoFragment); 
     fragmentTransaction.commit(); 

    getSupportFragmentManager().addOnBackStackChangedListener(
      new FragmentManager.OnBackStackChangedListener() { 
       @Override public void onBackStackChanged() { 
        int count = getSupportFragmentManager().getBackStackEntryCount(); 
       } 
      }); 

ich, was so AppCompatActivity brauchen, aber wie bekomme ich appcompatactivity wenn ich in Listview Adapter?

Oder, wie ich so etwas wie hier

I need something like this

ListviewAdapter public class ListViewAdapter erweitert BaseAdapter {

Activity activity; 
List<Kon> listKone; 
LayoutInflater inflater; 
Bitmap bitmapOriginal; 

ProgressBar progressBar; 


public ListViewAdapter(Activity activity, List<Kon> listKone) { 
    this.activity = activity; 
    this.listKone = listKone; 
} 

@Override 
public int getCount() { 
    return listKone.size(); 
} 

@Override 
public Object getItem(int i) { 
    return listKone.get(i); 
} 

@Override 
public long getItemId(int i) { 
    return i; 
} 

@Override 
public View getView(final int i, View view, ViewGroup viewGroup) { 


    inflater = (LayoutInflater)activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = inflater.inflate(R.layout.listview_item,null); 

    TextView txtUser = (TextView)itemView.findViewById(R.id.list_name); 
    TextView txtBorn = (TextView)itemView.findViewById(R.id.list_born); 
    TextView txtcena = (TextView)itemView.findViewById(R.id.list_cena); 
    TextView txtplemeno = (TextView)itemView.findViewById(R.id.list_plemeno); 
    ImageView imgHorse=(ImageView)itemView.findViewById(R.id.imageHorse); 
    ImageView imgHorseB=(ImageView)itemView.findViewById(R.id.imageHorseB); 
    progressBar= (ProgressBar) itemView.findViewById(R.id.progressBar2) ; 

    txtUser.setText(listKone.get(i).getName()); 
    txtBorn.setText(listKone.get(i).getNarodenie()); 
    txtcena.setText(listKone.get(i).getCena()); 
    txtplemeno.setText(listKone.get(i).getPlemeno()); 
    // Then later, when you want to display image 

    if (listKone.get(i).getCestaObrazok()!=null) { 
     ImageLoader.getInstance().displayImage(listKone.get(i).getCestaObrazok(), imgHorse); 

     BitmapDrawable drawable = (BitmapDrawable) imgHorse.getDrawable(); 
     Bitmap bitmap = null; 
     try { 
      bitmap = drawable.getBitmap(); 
     } catch (NullPointerException e){ 
     } 



     while ((drawable==null)||(bitmap==null)) { 
      ImageLoader.getInstance().displayImage(listKone.get(i).getCestaObrazok(), imgHorse); // Default options will be used 
      //ImageLoader.getInstance().displayImage(listKone.get(i).getCestaObrazok(), imgHorseB); // Default options will be used 
      // ImageLoader.getInstance().displayImage(listKone.get(i).getCestaObrazok(), imgHorseB); // Default options will be used 

      drawable = (BitmapDrawable) imgHorse.getDrawable(); 
      try { 
       bitmap = drawable.getBitmap(); 
      } catch (NullPointerException e){ 
      // Toast.makeText(activity, "drawable null", Toast.LENGTH_SHORT).show(); 
      } 
      // imgHorseB.setImageBitmap(bitmap); 
     } 
     Bitmap blurred = blurRenderScript(activity, bitmap, 25); 
     imgHorseB.setScaleType(ImageView.ScaleType.FIT_XY); 
     imgHorseB.setImageBitmap(blurred); 
    } 
    return itemView; 
} 

Dank bekommen Wenn Sie weitere Informationen benötigen ich hier will.

Antwort

0

Mit dieser Bibliothek: https://github.com/ongakuer/CircleIndicator

Es ist sehr einfach. In der XML:

<me.relex.circleindicator.CircleIndicator 
     android:id="@+id/indicator" 
     android:layout_width="match_parent" 
     android:layout_height="48dp"/> 

in der Java-Klasse:

ViewPager viewpager = (ViewPager) view.findViewById(R.id.viewpager); 
CircleIndicator indicator = (CircleIndicator) view.findViewById(R.id.indicator); 
viewpager.setAdapter(new SamplePagerAdapter(listKone,i,activity)); 
indicator.setViewPager(viewpager);