0

Android Basit bir ListActivity oluşturma

Merhaba Arkadaşlar Android de basit bir liste nasıl hazırlanır bugun ona bakalım. Öncelikle şunu ifade etmek istiyorum. Senaryomuz nasıl olacak nereden başlayacağız ?

Main class’ımızın  dışında bir class oluşturalım ve bunu “ListActivity” clasından extend edelim.

public class Liste extends ListActivity {

Evet madem burdan kalıtım aldık o zaman ListActivity’nin şu metodunuda override edeceğiz demektir.

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

bu metodun içine yazdıklarımızla listenin üzerindeki elemana tıklayınca birşeyler yapmayı  sağlayacağız.  Eveeeetttt. Şimdi ne yapalım ???

Bize listeye birşeyler göstermek için liste elemanları lazım yani bir dizi lazım şunun gibi

String[] liste={"Ankara","İstanbul","İzmir"};

Şimdi sıra geldi bu diziyi bir adaptör vasıtasıyla listenin içine aktarmaya …. Adaptör tanımlayıp listeyi set edelim. Şimdi burada üzerine birşeyler söylenmesi gereken bir husus var. Diyebilirsiniz ki ya biz herhangi bir layout dosyası oluşturup içine bir liste koymadık ki !!! Evet doğru koymadık ama bu aktivite bir “ListActivity” olduğu için doğrudan set edebiliyoruz. O zaman set edelim.

   ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,liste);
        setListAdapter(adapter);

burada this içinde bulunduğumuz sınıfı yani contex ‘ini ifade ediyor. R.layout … diye devam eden bizim liste şablonumuzu ifade ediyor. liste de zaten bizim listemiz. setListAdapter ile de elemanları içine atıyoruz. onListItemClick… in içinede yazalım. tıklayınca tıkladığımız elemanı ekranda göstersin.

 @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Toast.makeText(con,liste[position],Toast.LENGTH_LONG).show();
    }

Şimdi mainActivity de bir buton oluşturup tıklayınca bu liste aktivitesine geçiş yapalım.

public class MainActivity extends AppCompatActivity {


    Button btn;
    Context con;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        con=this;

        btn=(Button)findViewById(R.id.buton);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(con,Liste.class);
                startActivity(intent);
            }
        });
    }

Evet şimdilik bu kadar. Tabi arka planda manifest’deki değişiklikleride unutmayın.

admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir