Herkese Merhabalar android uygulamamda dinamik olarak değişen viewpager kullanıyorum...veritabanına bağlanabiliyorum sıkıntı yok fakat butün tablarda sadece ilk soruyu görebiliyorum.açılacak ilk tabda birinci soruyu ikinci tabda ikinci soruyu görmek istiyorum fakat başaramıyorum...Kullandığım kodlar şu şekilde

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.anayasa, container, false);

    DBHelper dbHelper=new DBHelper(getActivity());
    quesList = dbHelper.getAllQuestions();
    currentQ = quesList.get(qid);
    txtQuestion = (TextView) rootView.findViewById(R.id.textView1);
    btn1 = (Button) rootView.findViewById(R.id.btn1);
    btn1.setOnClickListener(this);
    btn2 = (Button) rootView.findViewById(R.id.btn2);
    btn2.setOnClickListener(this);
    btn3 = (Button) rootView.findViewById(R.id.btn3);
    btn3.setOnClickListener(this);
    btn4 = (Button) rootView.findViewById(R.id.btn4);
    btn4.setOnClickListener(this);
    setQuestionView();

    Bundle b=getArguments();
    qid=b.getInt("pos");
    currentQ.getID(qid);
    //tv.setText(AnasayfaDeneme.str[page_pos]);

    return rootView;
}

private void setQuestionView() {
    txtQuestion.setText(currentQ.getQUESTION());
    btn1.setText(currentQ.getOPTA());
    btn2.setText(currentQ.getOPTB());
    btn3.setText(currentQ.getOPTC());
    btn4.setText(currentQ.getOPTD());
    qid++;
}

public static SlidePageFragment newInstance(int position){
    SlidePageFragment instance= new SlidePageFragment();
    Bundle barg=new Bundle();
    barg.putInt("pos", position);
    instance.setArguments(barg);
    return(instance);
}

@Override
public void onClick(View v) {
   // checkAnswer(v);
}

MainActivity dosyam ise bu şekilde

public class AnasayfaDeneme extends FragmentActivity {

int position;
public static String[] str;

private static final int NUM_PAGES = 4;

private ViewPager vPager;

// the pager adapter that provides the pages to the view pager widget

private PagerAdapter pAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_anasayfa_deneme);

    position=0;

// Initialize the array of page contents str=getResources().getStringArray(R.array.page_content);

    vPager = (ViewPager) findViewById(R.id.pager);
    pAdapter = new PagerAdapter(getSupportFragmentManager());
    vPager.setAdapter(pAdapter);

}

// PagerAdater class that extends the FragmentStatePagerAdapter

private class PagerAdapter extends FragmentStatePagerAdapter {
    public PagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int pos) {
        return SlidePageFragment.newInstance(pos);
    }

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

}

Bu konuda yardımcı olabilecek kimse var mı?

soruldu: 28 Haz '15, 14:04

androahmet's gravatar image

androahmet
-1577813
cevap kabul oranı: 0%

değiştirildi: 28 Haz '15, 14:18


İncelediğim kadarıyla Bundle'a position'ı doğru olarak koyuyorsun. Ama Bundle'a koyduğun position'ı almadan integer olarak tanımladığın "qid" ye göre veritabanından çektiğin soruları yerleştirmeye çalışıyorsun. Bundle'a koyduğun değeri "qid" ye atmadan bu işlemi yaptığın için ve integer değerler default olarak 0 olduğu için sürekli aynı soruyu çekiyorsun. "onCreateView()" metodunu aşağıdaki şekilde güncelleyip dener misin?

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.anayasa, container, false);

    DBHelper dbHelper=new DBHelper(getActivity());
    quesList = dbHelper.getAllQuestions();
    txtQuestion = (TextView) rootView.findViewById(R.id.textView1);
    btn1 = (Button) rootView.findViewById(R.id.btn1);
    btn1.setOnClickListener(this);
    btn2 = (Button) rootView.findViewById(R.id.btn2);
    btn2.setOnClickListener(this);
    btn3 = (Button) rootView.findViewById(R.id.btn3);
    btn3.setOnClickListener(this);
    btn4 = (Button) rootView.findViewById(R.id.btn4);
    btn4.setOnClickListener(this);

    Bundle b=getArguments();
    qid=b.getInt("pos");
    currentQ.getID(qid);
    currentQ = quesList.get(qid);
    //tv.setText(AnasayfaDeneme.str[page_pos]);

    setQuestionView();
    return rootView;
}
permanent link

cevaplandı: 29 Haz '15, 07:34

mc44's gravatar image

mc44
1.1k222732
cevap kabul oranı: 42%

Hocam çok teşekkürler dediğinizi yaptıktan sonra sorun çözüldü

permanent link

cevaplandı: 30 Haz '15, 02:49

androahmet's gravatar image

androahmet
-1577813
cevap kabul oranı: 0%

Cevabı kabul edersen sevinirim :D

(30 Haz '15, 05:44) mc44 mc44's gravatar image

hocam cahilliğimi mazur görün "cevap nasıl kabul ediliyor?"

(30 Haz '15, 16:58) androahmet androahmet's gravatar image

Cevabın sol üst köşesinde bir simge var :) √ buna benzer. Ona tıklarsanız tamamdır

(10 Tem '15, 02:37) ersinyildiz ersinyildiz's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×819
×39
×16

Soruldu: 28 Haz '15, 14:04

Görüntüleme: 542 kez

Son güncelleme: 10 Tem '15, 02:37

powered by BitNami OSQA