Soru & Cevap

Listview'de herbir item'a tıklandığında layout değiştirme

08.08.2015 - 11:44

Merhaba, Android'de biografi application'u yapmaya çalışıyorum. Listview oluşturdum 21 adet kimseyi içeren. Alt layout formatı aynı olacak 

sadece kullanıcı hangi item'a tıklarsa o item'daki kişinin hayatı ve resmi görünecek. Bunu nasıl yapabilirim?

 

NOT: Internette çok araştırdım. Hepside item'a tıklandığında ekrana yazı basmayı gösteriyor. Bu çok kolay bana lazım olan bu değil item'a tıklandığı anda başka bir layout'a geçmesi... Şimdiden zaman ayırıp soruma baktığınız için teşekkürler. :)

39 Görüntülenme

3 Cevap

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

picture-46518-1428343928.jpg
halitpeker
13.08.2015 - 06:15
ListView lst=(ListView)findbyId(R.id.listview1);

lst.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
 Intent i=new Intent(MainActivity.this, digerActivity.class);
 i.putExtra("ad", lst.getItemAtPosition(position).toString);
startActivity(i);	
	}
});




Bu işlemi yaptıktan sonra digerActivity onCrete metrounda 

String ad=getIntent().getExtras().getString("ad");


şekilnde alabilirsin  bununlada sorgulama yapıp ıstedigin işlemi yaptırabilirsin.

picture-44115-1490994963.jpg
murat.sadic
13.08.2015 - 03:10

kendi projemde kullanmıştım  işini görür

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

final ListView listview = (ListView) findViewById(R.id.Status);

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {


            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String result = "";
                if (position==0) {
                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
                    ScanResult accesPoint = null;

                    alert.setTitle(R.string.izle);
                    alert.setMessage(R.string.mesaj);
                    alert.setIcon(R.mipmap.ic_launcher);

                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent intent = new Intent(getApplicationContext(), Ekran_1.class);
                            startActivity(intent);
                        }});
                    alert.setPositiveButton("İptal", null);
                    alert.show();

                } else {
                    if (position == 1) {
                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                        alert.setTitle(R.string.izle);
                        alert.setMessage(R.string.mesaj);
                        alert.setIcon(R.mipmap.ic_launcher);

                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                startActivity(intent);
                            }

                        });
                        alert.setPositiveButton("İptal", null);
                        alert.show();
                    }else {
                        if (position == 2) {
                            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                            alert.setTitle(R.string.izle);
                            alert.setMessage(R.string.mesaj);
                            alert.setIcon(R.mipmap.ic_launcher);

                            alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                    startActivity(intent);
                                }

                            });
                            alert.setPositiveButton("İptal", null);
                            alert.show();
                        }else {
                            if (position == 3) {
                                AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                alert.setTitle(R.string.izle);
                                alert.setMessage(R.string.mesaj);
                                alert.setIcon(R.mipmap.ic_launcher);

                                alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        Intent intent = new Intent(getApplicationContext(), Ekran_1.class);
                                        startActivity(intent);
                                    }

                                });
                                alert.setPositiveButton("İptal", null);
                                alert.show();
                            }else {
                                if (position == 4) {
                                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                    alert.setTitle(R.string.izle);
                                    alert.setMessage(R.string.mesaj);
                                    alert.setIcon(R.mipmap.ic_launcher);

                                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                            Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                            startActivity(intent);
                                        }

                                    });
                                    alert.setPositiveButton("İptal", null);
                                    alert.show();
                                }else {
                                    if (position == 5) {
                                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                        alert.setTitle(R.string.izle);
                                        alert.setMessage(R.string.mesaj);
                                        alert.setIcon(R.mipmap.ic_launcher);

                                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(DialogInterface dialog, int which) {
                                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                startActivity(intent);
                                            }

                                        });
                                        alert.setPositiveButton("İptal", null);
                                        alert.show();
                                    }else {
                                        if (position ==6) {
                                            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                            alert.setTitle(R.string.izle);
                                            alert.setMessage(R.string.mesaj);
                                            alert.setIcon(R.mipmap.ic_launcher);

                                            alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {
                                                    Intent intent = new Intent(getApplicationContext(), Ekran_1.class);
                                                    startActivity(intent);
                                                }

                                            });
                                            alert.setPositiveButton("İptal", null);
                                            alert.show();
                                        }else {
                                            if (position == 7) {
                                                AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                alert.setTitle(R.string.izle);
                                                alert.setMessage(R.string.mesaj);
                                                alert.setIcon(R.mipmap.ic_launcher);

                                                alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                    @Override
                                                    public void onClick(DialogInterface dialog, int which) {
                                                        Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                        startActivity(intent);
                                                    }

                                                });
                                                alert.setPositiveButton("İptal", null);
                                                alert.show();
                                            }else {
                                                if (position == 8) {
                                                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                    alert.setTitle(R.string.izle);
                                                    alert.setMessage(R.string.mesaj);
                                                    alert.setIcon(R.mipmap.ic_launcher);

                                                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                        @Override
                                                        public void onClick(DialogInterface dialog, int which) {
                                                            Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                            startActivity(intent);
                                                        }

                                                    });
                                                    alert.setPositiveButton("İptal", null);
                                                    alert.show();
                                                }else {
                                                    if (position == 8) {
                                                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                        alert.setTitle(R.string.izle);
                                                        alert.setMessage(R.string.mesaj);
                                                        alert.setIcon(R.mipmap.ic_launcher);

                                                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                            @Override
                                                            public void onClick(DialogInterface dialog, int which) {
                                                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                startActivity(intent);
                                                            }

                                                        });
                                                        alert.setPositiveButton("İptal", null);
                                                        alert.show();
                                                    }else {
                                                        if (position == 9) {
                                                            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                            alert.setTitle(R.string.izle);
                                                            alert.setMessage(R.string.mesaj);
                                                            alert.setIcon(R.mipmap.ic_launcher);

                                                            alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                @Override
                                                                public void onClick(DialogInterface dialog, int which) {
                                                                    Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                    startActivity(intent);
                                                                }

                                                            });
                                                            alert.setPositiveButton("İptal", null);
                                                            alert.show();
                                                        }else {
                                                            if (position == 10) {
                                                                AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                alert.setTitle(R.string.izle);
                                                                alert.setMessage(R.string.mesaj);
                                                                alert.setIcon(R.mipmap.ic_launcher);

                                                                alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                    @Override
                                                                    public void onClick(DialogInterface dialog, int which) {
                                                                        Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                        startActivity(intent);
                                                                    }

                                                                });
                                                                alert.setPositiveButton("İptal", null);
                                                                alert.show();
                                                            }else {
                                                                if (position == 11) {
                                                                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                    alert.setTitle(R.string.izle);
                                                                    alert.setMessage(R.string.mesaj);
                                                                    alert.setIcon(R.mipmap.ic_launcher);

                                                                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                        @Override
                                                                        public void onClick(DialogInterface dialog, int which) {
                                                                            Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                            startActivity(intent);
                                                                        }

                                                                    });
                                                                    alert.setPositiveButton("İptal", null);
                                                                    alert.show();
                                                                }else {
                                                                    if (position == 12) {
                                                                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                        alert.setTitle(R.string.izle);
                                                                        alert.setMessage(R.string.mesaj);
                                                                        alert.setIcon(R.mipmap.ic_launcher);

                                                                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                            @Override
                                                                            public void onClick(DialogInterface dialog, int which) {
                                                                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                startActivity(intent);
                                                                            }

                                                                        });
                                                                        alert.setPositiveButton("İptal", null);
                                                                        alert.show();
                                                                    }else {
                                                                        if (position == 13) {
                                                                            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                            alert.setTitle(R.string.izle);
                                                                            alert.setMessage(R.string.mesaj);
                                                                            alert.setIcon(R.mipmap.ic_launcher);

                                                                            alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                @Override
                                                                                public void onClick(DialogInterface dialog, int which) {
                                                                                    Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                    startActivity(intent);
                                                                                }

                                                                            });
                                                                            alert.setPositiveButton("İptal", null);
                                                                            alert.show();
                                                                        }else {
                                                                            if (position == 14) {
                                                                                AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                alert.setTitle(R.string.izle);
                                                                                alert.setMessage(R.string.mesaj);
                                                                                alert.setIcon(R.mipmap.ic_launcher);

                                                                                alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                    @Override
                                                                                    public void onClick(DialogInterface dialog, int which) {
                                                                                        Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                        startActivity(intent);
                                                                                    }

                                                                                });
                                                                                alert.setPositiveButton("İptal", null);
                                                                                alert.show();
                                                                            }else {
                                                                                if (position == 15) {
                                                                                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                    alert.setTitle(R.string.izle);
                                                                                    alert.setMessage(R.string.mesaj);
                                                                                    alert.setIcon(R.mipmap.ic_launcher);

                                                                                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                        @Override
                                                                                        public void onClick(DialogInterface dialog, int which) {
                                                                                            Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                            startActivity(intent);
                                                                                        }

                                                                                    });
                                                                                    alert.setPositiveButton("İptal", null);
                                                                                    alert.show();
                                                                                }else {
                                                                                    if (position == 16) {
                                                                                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                        alert.setTitle(R.string.izle);
                                                                                        alert.setMessage(R.string.mesaj);
                                                                                        alert.setIcon(R.mipmap.ic_launcher);

                                                                                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                            @Override
                                                                                            public void onClick(DialogInterface dialog, int which) {
                                                                                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                                startActivity(intent);
                                                                                            }

                                                                                        });
                                                                                        alert.setPositiveButton("İptal", null);
                                                                                        alert.show();
                                                                                    }else {
                                                                                        if (position == 17) {
                                                                                            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                            alert.setTitle(R.string.izle);
                                                                                            alert.setMessage(R.string.mesaj);
                                                                                            alert.setIcon(R.mipmap.ic_launcher);

                                                                                            alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                                @Override
                                                                                                public void onClick(DialogInterface dialog, int which) {
                                                                                                    Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                                    startActivity(intent);
                                                                                                }

                                                                                            });
                                                                                            alert.setPositiveButton("İptal", null);
                                                                                            alert.show();
                                                                                        }else {
                                                                                            if (position == 18) {
                                                                                                AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                                alert.setTitle(R.string.izle);
                                                                                                alert.setMessage(R.string.mesaj);
                                                                                                alert.setIcon(R.mipmap.ic_launcher);

                                                                                                alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                                    @Override
                                                                                                    public void onClick(DialogInterface dialog, int which) {
                                                                                                        Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                                        startActivity(intent);
                                                                                                    }

                                                                                                });
                                                                                                alert.setPositiveButton("İptal", null);
                                                                                                alert.show();
                                                                                            }else {
                                                                                                if (position == 19) {
                                                                                                    AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                                    alert.setTitle(R.string.izle);
                                                                                                    alert.setMessage(R.string.mesaj);
                                                                                                    alert.setIcon(R.mipmap.ic_launcher);

                                                                                                    alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                                        @Override
                                                                                                        public void onClick(DialogInterface dialog, int which) {
                                                                                                            Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                                            startActivity(intent);
                                                                                                        }

                                                                                                    });
                                                                                                    alert.setPositiveButton("İptal", null);
                                                                                                    alert.show();
                                                                                                }else {
                                                                                                    if (position == 20) {
                                                                                                        AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

                                                                                                        alert.setTitle(R.string.izle);
                                                                                                        alert.setMessage(R.string.mesaj);
                                                                                                        alert.setIcon(R.mipmap.ic_launcher);

                                                                                                        alert.setNeutralButton(R.string.izleme, new DialogInterface.OnClickListener() {
                                                                                                            @Override
                                                                                                            public void onClick(DialogInterface dialog, int which) {
                                                                                                                Intent intent = new Intent(getApplicationContext(),Ekran_1.class);
                                                                                                                startActivity(intent);
                                                                                                            }

                                                                                                        });
                                                                                                        alert.setPositiveButton("İptal", null);
                                                                                                        alert.show();
                                                                                                    }}}}}}}}}}}}}}}}}}}}}}

 

            }

            private int randomResult(String result) {
                return 0;
            }
        });

    }

 

picture-57908-1460820411.jpg
mesutpiskin
09.08.2015 - 02:19

2 türlü yapabilirsin

İlk olarak bir veritabanın var ise,onclickitem olayında tıklanan item id sini alıp bir sonraki layout a gönderebilirsin.

2. olarak ise veritabanın yoksa verilerini direk 2.layouta gönderebilirsin.

Önrek üzerinde gösterecek olursak

final ListView lv = (ListView) findViewById(R.id.ListView01);

lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
        String secilenAd =(String) (lv.getItemAtPosition(myItemInt));
        //Seçilen string veriyi alıyoruz buradaki string verinin biyogrifisi olan kişi nin adı olsun x diyelim

        Intent ii=new Intent(MainActivity.this, newclass.class);
        ii.putExtra("adi", secilenAd);
        //açılacak olan activity ye seçilen adı gönderdik
        
        startActivity(ii);

      }                 
});

//2.detay activity de gelen bu isim verisini yakalıyoruz
//TextView e getExtras ile gelen adı verisini yakalıyor ve yazdırıyoruz

public class newclass extends Activity
{
    private TextView Textv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.intent);
        Textv = (TextView)findViewById(R.id.tv2);
        Intent iin= getIntent();
        Bundle b = iin.getExtras();

        if(b!=null)
        {
            String j =(String) b.get("adi");
            Textv.setText(j);
        }
    }
}



/*
custom bir listview yaptıysan tüm değerleri yakalayıp putextra ile göndermelisin
ve getExtras ilede yakalamalısın.

Yada sadece id değerini gönderip 2.activity de bu id ile veritabanından sorgu işlemi yaparak verileri doldurursun.

Yada bir object gönderirsin bu objeyi adı soyadı resmi bilgileri vs. doldurur 2.sayfaya bu objecyi gönderir ve bu obje üzerinden alanları doldurursun.
*/