Soru & Cevap

LisrView de Tıklama sorunu

07.01.2017 - 07:56

Listedeki iteme tıklandığında toast mesajı ve tıklanan id ye göre farklı sayfaya yönlendirmek istiyorum.

Ama

adaptir.getItem(position)
 

burada hata veriyor itemin id sini alamıyorum.

 

adaptir in üzerine geldiğimde şu hatayı veriyor

Variable 'adaptir' is accessed from within inner class, needs to be declared final

 

Yardımcı olursanız sevinirim.

Teşekkürler

 

 

 

 


public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listview1;
        listview1 = (ListView) findViewById(R.id.listView1);
        OzelListViewBilgi bankaDizi[] = new OzelListViewBilgi[]{
                new OzelListViewBilgi(1, "Matematik 1", "YGS Konuları", R.drawable.math1201),
                new OzelListViewBilgi(2, "Matematik 2", "YGS Konuları", R.drawable.math1202),
                new OzelListViewBilgi(3, "Fizik", "LGS Konuları", R.drawable.math1203),
                new OzelListViewBilgi(4, "Kimya", "YGS Konuları", R.drawable.math1204),
                new OzelListViewBilgi(5, "Biyoloji", "LGS Konuları", R.drawable.math1205),
                new OzelListViewBilgi(6, "Geometri", "YGS Konuları", R.drawable.math1206),
        };
        OzelListViewAdaptor adaptir = (new OzelListViewAdaptor(this, R.layout.activity_mainlistele, bankaDizi));
        listview1.setAdapter(adaptir);

        listview1.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                //String sayfa = adaptir.getItem[position];

                Toast.makeText(MainActivity.this, adaptir.getItem(position), Toast.LENGTH_SHORT).show();

                startActivity(new Intent(getApplicationContext(), adaptir.getItem(position).class));
              
            }
        });
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

 

6 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-89764-1474477893.png
nurullahtayipoglu
08.01.2017 - 12:01

bu sefer aşağıdaki çıkıyor

teşekkürler

/sites/default/files/cevaplar/dosya/2020/file-hata1_2.png
picture-42070-1483807357.jpg
bekirbedir
07.01.2017 - 08:11

adapterini final olarak tanımla.
yani 18.satırdaki
OzelListViewAdaptor adaptir = ...... yeri
final OzelListViewAdaptor adaptir = .... olarak düzelt