2016-04-04 31 views
0

Çok fazla listView kullanan bir uygulama (antrenman planı) oluşturmaya çalışıyorum. Anlamı: "Egzersiz Oluştur" a tıkladığımda -> listView'de yeni egzersiz adı oluşturulur. Egzersizlerin her isimleri için bir ListView. (Bu bende var). Ama bu listenin her öğesini tıklattığımda, her öğe için yeni seri oluşturmak istiyorum. Ama ilk öğede "Yeni seri oluştur" u tıklıyorum ve aynı tıklattığımda ancak ikinci bir öğede bir liste içinde oluşturulduğunda.Özel Listeyi aç Diğer listeyi aç ListView

Ancak bunu her öğe için başka bir listeye kaydetmek istiyorum. Mümkün mü? Şu anda düşündüğüm gibi, her öğenin kendi listView olması gerekir.

Aslında, sorum şu: Neden her dizi bir ListView'de oluşturuluyor? Dizi oluşturmak için ortak bir etkinlik olduğu için mi?

Birisi benim durumum için bir çözüm bulmama yardımcı olabilir mi?

Bu fotoğrafta fikrimi gösteriyorum.

enter image description here

cevap

0
senin soru belirtildiği gibi Sen Custom Liste görünümü oluşturmak için bir referans olarak linkleri aşağıda kullanabilirsiniz

:

http://www.pcsalt.com/android/listview-using-baseadapter-android/ http://theopentutorials.com/tutorials/android/listview/android-custom-listview-with-image-and-text-using-baseadapter/

ilk bir etkinlik oluşturmak için, sen var bu aktivite, bir özel liste görünümü ve getView (...) yönteminde "convertView.setOnClickListener (...) {...} gibi özel bağdaştırıcı-tıklatma dinleyicinizde.

Bu tıklatma dinleyicisinde başka bir aktivite açmanız ve putExtra (..) 'da ihtiyaç duyduğunuz bazı değerleri başlatmanız gerekir. (StartupTable (yeni Intent (getApplicatonContext(), AnotherActivity.class) .putExtra ("tag", "value")) ;

İkinci etkinlikte getIntent(). GetStringExtra ("tag") kullanarak bu değeri elde etmeniz gerekir;

sonra o değere bağlı olarak başka bir özel liste görünümü ..

Umut oluşturmak bu yardım

+0

Cevabınız için teşekkür ederiz. Ama ben Adaptör vb var. Her isim için dizi oluşturabilirim ama bu seri sadece bir listView'de yaratılır. Ama bu çözümü cevabınızda bulamıyorum. Her öğe için özel bir ListView oluşturan Etkinlik'e ihtiyacım olduğunu belirttiniz mi? – gryzek

+0

Hayır, her bir öğe için aktivite oluşturmaya gerek yok, örneğin 500 ürünüm var, bu yüzden 500 etkinlik oluşturmak mümkün değil. Sadece bir etkinlik oluşturmanız ve söz konusu etkinlik için belirli bir öğenin değerini geçmeniz gerekiyor ve liste görünümü bu öğenin değerine göre verileri dolduracak ve böylece işiniz 2-3 ekranla sona erecek. Ayrıca, ikinci etkinliğin liste görünümünü notifyDatasetChanged() kullanarak bildirebilirsiniz. –

+0

Ayrıca, veriden gelen verileri, öğenin değerine göre de ayarlayabilirsiniz. –

1

bir tablo oluşturmak için her ve item.I tavsiye her yeni liste görünümü oluşturmak için gerek yok senin db ve ihtiyacın üzerine öğeleri almak ve liste görünümü madde ögesine liste görünümünü doldurun.

+0

Cevabınız için teşekkür ederiz. Ancak 10 tür egzersizle bir tablo oluşturduğumda ve her türün 10 adı ve her adın 10 dizisi vardır. Bu benim inşa etmek istediğim şey. Ama bunu nasıl bir masa ile yapabilirim? Mesela bir tablom var ve bu tabloda ItemOnClick yapabilirim (Table of types) ve isimleri ile başka bir tabloya çağrılır ve listView için başka bir tablo çağrılır? – gryzek

+0

alıştırma, isim, dizi için ayrı bir tablo oluştur, daha sonra istenilen sonuçları elde etmek için birleştirme kullanın – Karthik

+0

Bunu nasıl görüyorsun? Alıştırma, isim, dizi yazıp bunu bir masaya koyabileceğim anlamına mı geliyor? Ama bazı seriye nasıl katılabilirim? Başka bir listede olmalı? Biraz açıklaman var mı, çünkü bunu anlayamıyorum. Yardım için teşekkürler. – gryzek