2017-09-06 56 views
5

Düğmenin içinde bir değer geçirmek istiyorum. Benim iki sorum var.Bazı verileri viewpager.setCurrentItem ile geçirin (konum)

  1. Veri iletmenin en iyi yolu nedir?
  2. Statik veriler kullanırsam sorun ne olacak? gibi gibi:

    public static string abc="" 
    
    case R.id.IVActionMore: 
    ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.tabs_viewpager); 
    viewPager.setCurrentItem(3); 
    //abc = "action"; 
    break; 
    
+1

Eğer ** addOnPageChangeListener ** statik dize kullanarak sorun yoktur benim için Eh –

+0

, Ben de yalnızca Android geliştirme dabbled – Pulkit

+1

etrafında biraz bilgi aktarmak için kullanabilirsiniz denedi bağlantıyı kontrol, ancak Verileri koymak için kullanmanız gereken Bağlam nesneleri vardı. Statik bir kavram değildir, çünkü yaşam döngüsü konseptiyle kontrol edilmezler, bu nedenle Uygulamanız fark edilmeden yeniden yüklenebilir ve veriler kaybolur. – daniu

cevap

1

Veriyi ayarlamak ve almak için paylaşılan-tercihini kullanabilir. Statik kullanmak harika bir fikir değil.

https://stackoverflow.com/a/23024962/4549220

+0

Veri iletmenin en iyi yolu bu mu? –

+1

Bunu kontrol edebilirsiniz: https://stackoverflow.com/questions/4878159/whats-the-best-way-to-share-data-between-activities https://stackoverflow.com/questions/7885276/how- to-pay-aynı-veri-arası-çoklu-faaliyetleri-in-android – Tariqul

1
  1. Kullanım addOnPageChangeListener

geçersiz addOnPageChangeListener (ViewPager.OnPageChangeListener dinleyici) çağrılan her sayfa değişiklik ya edilecektir bir dinleyici ekle kademeli olarak kaydırıldı.

Nasıl?

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
    @Override 
    public void onPageScrolled(int position, float 
        positionOffset, int positionOffsetPixels) { 

    } 

    @Override 
    public void onPageSelected(int position) 
    { 

    if(position == 3) 
    { 
      // DO your work 
    } 

    } 

    @Override 
    public void onPageScrollStateChanged(int state) { 

    } 
}); 

OnClick

buttonOBJ.setOnClickListener(new OnClickListener() 
    { 
      @Override 
      public void onClick(View v) 
      { 
       viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, true); 
      } 
    }); 
+0

Sayfayı değiştirmek istiyorum düğmesini tıklayın. –

+0

@ t.gakk Güncellenmiş yanıtı kontrol et –

+0

Tekrar tekrar teşekkürler. ama "STATIC kullanmayın. Bu iyi bir yaklaşım değil". en iyi yaklaşım nedir? ve bunu kodunuzda nasıl kullanabilirim? –