10 Mayıs 2017 Çarşamba

Bundle Kullanımı (Put Extra , Intent)

Merhaba arkadaşlar bugün, bundle kullanımını ele alacağız, bundle ne işe yarar ?
Bundle bir anahtar kelime ve içerik yollar bu sayede birden fazla Activity kullanmamamıza yardımcı olur ve daha birçok yararı vardır, Allah razı olsun bu bundle'dan Kandilinizi kutlarım şimdi kullanıma geçelim, bir adet daha activity açınız ilk olarak.
Açmayı Bilmeyenler için, Java - New - Activty - Empty activity .

Main Activity yani ilk aktivitemize gelelim, ben ListView de kullanıcam ama , bu başka Özelliklerdede kullanılabilir. Mesela buton içinde aynı şeyi kullanabilirsiniz. CheckBox içinde ama ben dediğim gibi ListView 'de kullanıcam :)

Main Activty;

public class MainActivity extends AppCompatActivity {
ListView listView;
    List<lider> liderler =new ArrayList<lider>();
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView)findViewById(R.id.listview);
        liderler.add(new lider("Mustafa Kemal Atatürk","1881-1938"));
        liderler.add(new lider("Adolf Hitler","1889-1945"));
        liderler.add(new lider("Nelson Mandela","1918-2013"));
        liderler.add(new lider("Che Guevara","1928-1967"));
        liderler.add(new lider("Karl Marx","1818-1883"));

OzelAdapter adapter = new OzelAdapter(this,liderler);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if(position == 0){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Mustafa Kemal Atatürk");
                    intent.putExtra("aciklama","Mustafa Kemal Atatürk Biyografisi");
                    startActivity(intent);

                }
                if (position==1){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Adolf Hitler");
                    intent.putExtra("aciklama","Adolf Hitler Biyografisi");
                    startActivity(intent);
                }
                if (position==2){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Nelson Mandela");
                    intent.putExtra("aciklama","Nelson Mandela Biyografisi");
                    startActivity(intent);
                }
                if (position==3){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Che Guevara");
                    intent.putExtra("aciklama","Che Guevara Biyografisi");
                    startActivity(intent);
                }
                if (position==4){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Karl Marx");
                    intent.putExtra("aciklama","Karl Marx Biyografisi");
                    startActivity(intent);
                }
            }
        });
    }
}


Şimdi bakdiğimiz zaman bi adi ve bide açıklama diye iki tane şey var, bunlar anahtarlar ve
yanındaki yazılardan bizim bigilerimizdir her ListViewde bir satıra tıkladığımızda
Bunlar değişecek. ve bizi ilgili olan kişinin biyografisine yönlendirecek.

Şimdi diger 2.Activty mize giriyoruz ve ;

public class Main2Activity extends AppCompatActivity {
TextView tv;
    TextView tv1;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        tv = (TextView)findViewById(R.id.aciklama);
        tv1=(TextView)findViewById(R.id.baslik);

        Bundle ekstralar = getIntent().getExtras();
        String aciklama = ekstralar.getString("aciklama");
        String baslik = ekstralar.getString("adi");
        tv1.setText(baslik);
        tv.setText(aciklama);
    }
}

Şimdi ise bu gönderdiğimiz bilgileri aldık. Bu kadardı Listview ile Biyografi
uygulamamız devam edecek takipte kalın. :)

Hiç yorum yok:

Yorum Gönder