0
내가 원하는 것은 Expandable Listview에서 하나의 항목을 클릭하면 새로운 활동이 표시됩니다. 예를 들어 확장 가능한 목록보기에 이름 목록 (paul, john, mark, james, luke)이 있고 #james를 누르면 새 활동에 #james에 대한 정보가 포함되어 있습니다.when Expandable listview의 항목을 클릭하면 다음 활동으로 이동합니다.
/*********************************CategoryScreen.java*************/
package filipiknows.open;
import filipiknows.open.R;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
public class CategoryScreen extends Activity {
ELAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.category);
// get the listview
expListView = (ExpandableListView) findViewById(R.id.lvExp);
// preparing list data
prepareListData();
listAdapter = new ELAdapter(this, listDataHeader, listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
// Listview Group click listener
expListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
// "Group Clicked " + listDataHeader.get(groupPosition),
// Toast.LENGTH_SHORT).show();
return false;
}
});
// Listview on child click listener
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
return false;
}
});
}
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("Phillippines Heroes");
listDataHeader.add("Presidents");
listDataHeader.add("Culture and Tradition");
listDataHeader.add("Tourist Spots");
listDataHeader.add("Filipino Dishes");
listDataHeader.add("Traditional Customes");
listDataHeader.add("Traditional Games");
// Adding child data
List<String> PhillippinesHeroes = new ArrayList<String>();
PhillippinesHeroes.add("Dr. Jose Rizal");
PhillippinesHeroes.add("Andres Bonifacio");
PhillippinesHeroes.add("General Gregorio del Pilar");
PhillippinesHeroes.add("General Emilio Aguinaldo");
PhillippinesHeroes.add("Apolinario Mabini");
PhillippinesHeroes.add("Father Mariano Gomez");
PhillippinesHeroes.add("Father Father Jose Burgos ");
PhillippinesHeroes.add("Father Father Jacinto Zamora");
PhillippinesHeroes.add("Trece Martirez");
PhillippinesHeroes.add("Emilio Jacinto");
PhillippinesHeroes.add("General Antonio Luna");
PhillippinesHeroes.add("Melchora Aquino");
PhillippinesHeroes.add("Graciano Lopez-Jaena");
PhillippinesHeroes.add("Panday Pira");
PhillippinesHeroes.add("Mariano Ponce");
PhillippinesHeroes.add("Gregoria de Jesus");
PhillippinesHeroes.add("Fernando Ma. Guerrero");
PhillippinesHeroes.add("Felipe Agoncillo");
PhillippinesHeroes.add("Juan Luna");
PhillippinesHeroes.add("Rafael Palma");
PhillippinesHeroes.add("Marcelo H. Del Pilar");
PhillippinesHeroes.add("Pedro Paterno");
PhillippinesHeroes.add("Leona Florentino");
PhillippinesHeroes.add("Isabelo delos Reyes");
PhillippinesHeroes.add("Artemio Ricarte");
PhillippinesHeroes.add("Jose Palma");
PhillippinesHeroes.add("Rajah Lakandola");
PhillippinesHeroes.add("Rajah Soliman");
PhillippinesHeroes.add("Leonor Rivera");
PhillippinesHeroes.add("Marcela Mariño Agoncillo");
PhillippinesHeroes.add("Galicano Apacible");
PhillippinesHeroes.add("Jose Ma. Panganiban");
PhillippinesHeroes.add("Diego Silang");
PhillippinesHeroes.add("Maria Josefa Gabriela Silang");
PhillippinesHeroes.add("Lapu-Lapu");
PhillippinesHeroes.add("Francisco Baltazar");
PhillippinesHeroes.add("Epifanio delos Santos");
PhillippinesHeroes.add("Francisco Dagohoy");
PhillippinesHeroes.add("Teresa Magbanua");
PhillippinesHeroes.add("Trinidad Tecson");
PhillippinesHeroes.add("Agueda Esteban");
PhillippinesHeroes.add("Julian Felipe");
PhillippinesHeroes.add("Marina Dizon");
PhillippinesHeroes.add("General Francisco Makabulos");
List<String> Presidents = new ArrayList<String>();
Presidents.add("Emilio Aguinaldo");
Presidents.add("Manuel L. Quezon");
Presidents.add("José P. Laurel");
Presidents.add("Sergio S. Osmeña");
Presidents.add("Manuel A. Roxas");
Presidents.add("Elpidio R. Quirino");
Presidents.add("Ramón F. Magsaysay");
Presidents.add("Carlos P. García");
Presidents.add("Diosdado P. Macapagal");
Presidents.add("Ferdinand E. Marcos");
Presidents.add("Corazón C. Aquino");
Presidents.add("Fidel V. Ramos");
Presidents.add("Joseph Ejército Estrada");
Presidents.add("Gloria Macapagal Arroyo");
Presidents.add("Benigno S. Aquino III");
List<String> CultureAndTradition = new ArrayList<String>();
CultureAndTradition.add("");
CultureAndTradition.add("");
CultureAndTradition.add("");
CultureAndTradition.add("");
CultureAndTradition.add("");
CultureAndTradition.add("");
List<String> TouristSpots = new ArrayList<String>();
TouristSpots.add("Manila");
TouristSpots.add("Bohol");
TouristSpots.add("Boracay");
TouristSpots.add("baguio");
TouristSpots.add("Cagayan");
TouristSpots.add("Cagayan De Oro");
TouristSpots.add("Camiguin");
TouristSpots.add("Cebu");
TouristSpots.add("Davao City");
TouristSpots.add("Ilocos Norte");
TouristSpots.add("Negros Oriental");
TouristSpots.add("Puerto Prencesa");
TouristSpots.add("Zambales");
List<String> FilipinoDishes = new ArrayList<String>();
FilipinoDishes.add("Adobo");
FilipinoDishes.add("Balut");
FilipinoDishes.add("Lechon");
FilipinoDishes.add("Sisig");
FilipinoDishes.add("Crispy Pata");
FilipinoDishes.add("Chicken Inasal");
FilipinoDishes.add("Pansit Palabok");
FilipinoDishes.add("Bulalo");
FilipinoDishes.add("Arroz Caldo");
FilipinoDishes.add("Kare-Kare");
FilipinoDishes.add("Sinigang");
FilipinoDishes.add("Dinuguan at puto");
FilipinoDishes.add("Laing");
FilipinoDishes.add("Pinakbet");
FilipinoDishes.add("Bicol Express");
FilipinoDishes.add("Tinola");
FilipinoDishes.add("Halo-Halo");
FilipinoDishes.add("Taho");
FilipinoDishes.add("Turon");
FilipinoDishes.add("Longaniza");
FilipinoDishes.add("Lumpiang Sariwa");
List<String> TraditionalCustomes = new ArrayList<String>();
TraditionalCustomes.add("Barong Tagalog");
TraditionalCustomes.add("Mestiza");
TraditionalCustomes.add("Maria Clara");
TraditionalCustomes.add("Kimona");
TraditionalCustomes.add("Igorot");
TraditionalCustomes.add("Muslim Attire");
TraditionalCustomes.add("Malong");
TraditionalCustomes.add("B’LAAN");
TraditionalCustomes.add("Bagobo")
TraditionalCustomes.add("T’BOLI");
TraditionalCustomes.add("Mandaya");
TraditionalCustomes.add("Maranaw");
TraditionalCustomes.add("Yakan");
TraditionalCustomes.add("Ifugao");
TraditionalCustomes.add("Kalinga");
TraditionalCustomes.add("GA’DANG");
TraditionalCustomes.add("Bontoc");
TraditionalCustomes.add("Samal");
TraditionalCustomes.add("Ibaloi");
TraditionalCustomes.add("Aetas");
TraditionalCustomes.add("Pulangiyen");
TraditionalCustomes.add("Matigsalug");
List<String> TraditionalGames = new ArrayList<String>();
TraditionalGames.add("Tumbang Preso");
TraditionalGames.add("Luksong-Baka");
TraditionalGames.add("Luksong-tinik");
TraditionalGames.add("Piko");
TraditionalGames.add("Agawan Base");
TraditionalGames.add("Bahay-Bahayan");
TraditionalGames.add("Chinese Garter");
TraditionalGames.add("Holen");
TraditionalGames.add("Jack 'n' Poy");
TraditionalGames.add("Langit-Lupa");
TraditionalGames.add("Pitik-Bulag");
TraditionalGames.add("Sawsaw-Suka");
TraditionalGames.add("Sipa");
TraditionalGames.add("Taguan");
TraditionalGames.add("Takip-Silim");
TraditionalGames.add("Ten-Twenty");
TraditionalGames.add("Tinikling");
TraditionalGames.add("Ubusan Lahi");
TraditionalGames.add("Teks");
// Header at Child data
listDataChild.put(listDataHeader.get(0), PhillippinesHeroes);
listDataChild.put(listDataHeader.get(1), Presidents);
listDataChild.put(listDataHeader.get(2), CultureAndTradition);
listDataChild.put(listDataHeader.get(3), TouristSpots);
listDataChild.put(listDataHeader.get(4), FilipinoDishes);
listDataChild.put(listDataHeader.get(5), TraditionalCustomes);
listDataChild.put(listDataHeader.get(6), TraditionalGames);
}
}
/********** 확장리스트 뷰 어댑터 (ELAdapter.java) *********************** ******************** 당신이 할하려고하는 것이 무엇인지 메신저 완전히 확실하지으로/
package filipiknows.open;
import filipiknows.open.R;
import java.util.HashMap;
import java.util.List;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
public class ELAdapter extends BaseExpandableListAdapter {
private Context _context;
private List<String> _listDataHeader; // header titles
// child data in format of header title, child title
private HashMap<String, List<String>> _listDataChild;
public ELAdapter(Context context, List<String> listDataHeader,
HashMap<String, List<String>> listChildData) {
this._context = context;
this._listDataHeader = listDataHeader;
this._listDataChild = listChildData;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.lblListItem);
txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.size();
}
@Override
public Object getGroup(int groupPosition) {
return this._listDataHeader.get(groupPosition);
}
@Override
public int getGroupCount() {
return this._listDataHeader.size();
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_group, null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.lblListHeader);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
그리고 지금 아이템을 클릭하면 어떻게됩니까? – joao2fast4u
잘 ChildClickListener를 첨부했으나 유용한 정보로 채우지 못했습니다. 당신은 클릭 리스너에서 액티비티를 시작하고 필요한 모든 데이터를 전달하여 표시 할 모든 정보를 표시하거나 db/whatever에서 데이터를 가져 오는 데 필요한 충분한 정보를 전달하십시오 –
Daniel이 말한 바는 정확하며 사용하지 않는 이유는 무엇입니까? 정보를로드하는 부분? –