SORU
24 Temmuz 2011, Pazar


ViewPager görünümünden odaklanın

Sol/Sağ tokatlamak ile görünümler arasında geçiş için ViewPager kullanıyorum.

Bu ViewPager bir Adaptör ihtiyacı var, bu bir inşa ettik:

public class ListViewPagerAdapter extends PagerAdapter {

protected static final String TAG = "ListViewPagerAdapter";
protected static final int NUM_VIEWS = 3;

protected final Activity mActivity;

public ListViewPagerAdapter(Activity activity) {
    mActivity = activity;
}

@Override
public int getCount() {
    return NUM_VIEWS;
}

@Override
public void startUpdate(View container) {}

@Override
public Object instantiateItem(View container, int position) {
    // ViewPager
    ViewPager viewPager = (ViewPager) container;

    // Wird verwendet, um die Views aufzurufen
    LayoutInflater layoutInflater = mActivity.getLayoutInflater();

    // Standardmäßig ist news eingeblendet
    View view = layoutInflater.inflate(R.layout.news_fragment, null);
    // Falls sich die Position verändert, so verändert sich auch die View
    if (position == 0) {
        view = layoutInflater.inflate(R.layout.favorite_fragment, null);
    } else if (position == 2) {
        view = layoutInflater.inflate(R.layout.videos_fragment, null);
    }

    // View einblenden
    viewPager.addView(view, 0);

    return view;
}

@Override
public void destroyItem(View container, int position, Object object) {
    // ViewPager
    ViewPager viewPager = (ViewPager) container;
    // View
    View view = (View) object;

    // View löschen
    viewPager.removeView(view);
}

@Override
public void finishUpdate(View container) {}

@Override
public boolean isViewFromObject(View view, Object object) {
    View _view = (View) object;
    return view == _view;
}

@Override
public Parcelable saveState() {
    return null;
}

@Override
public void restoreState(Parcelable state, ClassLoader loader) {}
 }

Şimdi, viewpager ile geçerli odaklanmış bir görünüm elde etmek istiyorum. GetChildAt denedim(x), ama çalışmıyor.

Bazı örnek vardır, ya da geçerli görünümü elde etmek için nasıl bir fikrin var mı?

Teşekkürler

CEVAP
26 Aralık 2011, PAZARTESİ


[PagerAdapter.kılarak şu anda etkin nesneyi kaydetmek mümkündür (Görünüm, Fragman, ...) setPrimaryİtem] (http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#setPrimaryItem(android.view.ViewGroup, int, java.lang.Object)) yöntem. Örneğin:

private View mCurrentView;

@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
    mCurrentView = (View)object;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009