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

  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009