Bir kart tıklatıldığında bir etkinlik açılır ve ardından başka bir kart tıklatıldığında başka bir etkinlik açılır. Tek bir etkinlik oluşturmanın ve tıklatılan kartın kimliğini tanımanın ve karşılık gelen verileri göstermenin herhangi bir yolu var mı?Cardview onclick yeni bir aktivite açar
-2
A
cevap
1
Eğer aktivitesinde Intent.getIntExtra
ile alın ve burada
aktivite
da veri sağlamak sonraIntent.putExtra
ile id gönderip ki bir örnektir sen
ListView
kullanılıyorsa MyActtivity için id ve endeks göndererek:
AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
intent.putExtra("id",view.getId());
intent.putExtra("index",position);
startActivity(intent);
}
};
Ve böyle MyActivity bunu alabilirsiniz:
Intent intent = new Intent(getIntent());
int id = intent.getIntExtra("id",0);
int index = intent.getIntExtra("index",0);
-1
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
public void card(View view) {
Intent intent = new Intent(FirstActivity.this, ActivitymainActivity.class);
startActivity(intent);
}
}
+0
Lütfen özellikle bir açıklama yazmaktan rahatsız olmadığınız için cevapları çoğaltmayı bırakın. – cybermonkey
Her kart görünümü için 1.set numarası. 2.implement View.onClickListener 3.Çıkıştırma onClick yöntemi 4.compare Id's 5. make intent – Killer
Elbette var. 'Intent.putExtra' ile bazı verileri iletin (örneğin, cardview'ın konumu, kimliği, içindeki metin, her neyse) – Vucko
çözüm adamlar için teşekkürler – Ace