Android ExpandableListView OnChildClickListener不工作
我在Android应用程序上的可扩展列表视图有问题 这是我的密码Android ExpandableListView OnChildClickListener不工作,android,expandablelistview,Android,Expandablelistview,我在Android应用程序上的可扩展列表视图有问题 这是我的密码 package proyek.akhir; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import a
package proyek.akhir;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupCollapseListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.Toast;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.TextView;
public class list_tempat extends Activity {
private List<String> groupData;
private List<List<String>> childrenData;
static String asalfromList ;
protected static final Object[] String = null;
static String l1 ;
private void loadData() {
groupData = new ArrayList<String>();
groupData.add("Group 1");
groupData.add("Group 2");
groupData.add("Group 3");
childrenData = new ArrayList<List<String>>();
List<String> sub1 = new ArrayList<String>();
sub1.add("G1 Item 1");
sub1.add("G1 Item 2");
childrenData.add(sub1);
List<String> sub2 = new ArrayList<String>();
sub2.add("G2 Item 1");
sub2.add("G2 Item 2");
sub2.add("G2 Item 3");
sub2.add("G2 Item 4");
childrenData.add(sub2);
List<String> sub3 = new ArrayList<String>();
sub3.add("G3 Item 1");
sub3.add("G3 Item 2");
sub3.add("G3 Item 3");
sub3.add("G3 Item 4");
sub3.add("G3 Item 5");
childrenData.add(sub3);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.expandable_list_view);
l1 = "l1";
loadData();
ExpandableListView expandableListView = (ExpandableListView)findViewById(R.id.expandable_list_view);
expandableListView.setAdapter(new ExpandableAdapter());
expandableListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View clickedView, int groupPosition, long groupId) {
return false;
}
});
expandableListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView expandablelistview,
View clickedView, int groupPosition, int childPosition, long childId) {
Intent i = getIntent();
//asalfromList =(String) ((TextView) view).getText();
Intent intent = new Intent(list_tempat.this, ruteangkot.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("l1", String);
intent.putExtra("textAsal",asalfromList );
if (i.getStringExtra("tujuan") != null){
intent.putExtra("textTujuan",list_tempat2.tujuanfromList );
System.out.println("adaan");
}else{
System.out.println("eweh");
intent.putExtra("textTujuan","");
}
menuutama.mu = "";
list_tempat2.l2 = "";
startActivity(intent);
finish();
System.out.println("wkwkwk");
showMessage("hahasu" + ((TextView)clickedView).getText());
return false;
}
});
expandableListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
}
});
expandableListView.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
}
});
}
private class ExpandableAdapter extends BaseExpandableListAdapter {
@Override
public Object getChild(int groupPosition, int childPosition) {
return childrenData.get(groupPosition).get(childPosition);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
TextView text = null;
if (convertView != null) {
text = (TextView)convertView;
text.setText(childrenData.get(groupPosition).get(childPosition));
} else {
text = createView(childrenData.get(groupPosition).get(childPosition));
}
return text;
}
@Override
public int getChildrenCount(int groupPosition) {
return childrenData.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
return groupData.get(groupPosition);
}
@Override
public int getGroupCount() {
return groupData.size();
}
@Override
public long getGroupId(int groupPosition) {
return 0;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
TextView text = null;
if (convertView != null) {
text = (TextView)convertView;
text.setText(groupData.get(groupPosition));
} else {
text = createView(groupData.get(groupPosition));
}
return text;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
private TextView createView(String content) {
AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT, 38);
TextView text = new TextView(list_tempat.this);
text.setLayoutParams(layoutParams);
text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
text.setPadding(40, 0, 0, 0);
text.setText(content);
return text;
}
}
private void showMessage(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
包proyek.akhir;
导入android.app.ListActivity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.widget.AdapterView.OnItemClickListener;
导入java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.os.Bundle;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.Gravity;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AbsListView;
导入android.widget.BaseExpandableListAdapter;
导入android.widget.ExpandableListView;
导入android.widget.ExpandableListView.OnChildClickListener;
导入android.widget.ExpandableListView.OnGroupCollapseListener;
导入android.widget.ExpandableListView.OnGroupExpandListener;
导入android.widget.Toast;
导入android.widget.ExpandableListView.OnGroupClickListener;
导入android.widget.TextView;
公共类列表\u临时扩展活动{
私有列表组数据;
私有列表childrenData;
静态字符串asalfromList;
受保护的静态最终对象[]字符串=null;
静态字符串l1;
私有void loadData(){
groupData=newarraylist();
groupData.add(“第1组”);
groupData.add(“第2组”);
groupData.add(“第3组”);
childrenData=newarraylist();
List sub1=新的ArrayList();
子1.添加(“G1第1项”);
子1.添加(“G1第2项”);
childrenData.add(sub1);
List sub2=新的ArrayList();
子2.添加(“G2第1项”);
子2.添加(“G2第2项”);
子2.添加(“G2第3项”);
子2.添加(“G2第4项”);
childrenData.add(sub2);
List sub3=新的ArrayList();
子3.添加(“G3第1项”);
子3.添加(“G3第2项”);
子3.添加(“G3第3项”);
子3.添加(“G3第4项”);
子3.添加(“G3第5项”);
childrenData.add(sub3);
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.可扩展列表视图);
l1=“l1”;
loadData();
ExpandableListView ExpandableListView=(ExpandableListView)findViewById(R.id.expandable\u list\u视图);
setAdapter(新的ExpandableAdapter());
expandableListView.setOnGroupClickListener(新OnGroupClickListener(){
@凌驾
公共布尔值onGroupClick(ExpandableListView父级、View clickedView、int groupPosition、long groupId){
返回false;
}
});
expandableListView.setOnChildClickListener(新的OnChildClickListener(){
@凌驾
公共布尔onChildClick(ExpandableListView ExpandableListView,
查看单击的视图、int-groupPosition、int-childPosition、long-childId){
Intent i=getIntent();
//asalfromList=(字符串)((TextView)视图).getText();
Intent Intent=新Intent(list_tempat.this,ruteangkot.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(“l1”,字符串);
intent.putExtra(“textAsal”,asalfromList);
如果(i.getStringExtra(“tujuan”)!=null){
intent.putExtra(“textTujuan”,list_tempat2.tujuanfromList);
System.out.println(“ADAN”);
}否则{
系统输出打印项次(“eweh”);
intent.putExtra(“textTujuan”,”);
}
menuutama.mu=“”;
列表_tempat2.l2=“”;
星触觉(意向);
完成();
System.out.println(“wk”);
showMessage(“hahasu”+((TextView)clickedView.getText());
返回false;
}
});
expandableListView.setOnGroupCollapseListener(新OnGroupCollapseListener(){
@凌驾
公共void-onGroupCollapse(int-groupPosition){
}
});
expandableListView.setOnGroupExpandListener(新的OnGroupExpandListener()){
@凌驾
public void onGroupExpand(int groupPosition){
}
});
}
私有类ExpandableAdapter扩展了BaseExpandableListAdapter{
@凌驾
公共对象getChild(int-groupPosition,int-childPosition){
返回childrenData.get(groupPosition).get(childPosition);
}
@凌驾
公共长getChildId(int-groupPosition,int-childPosition){
返回0;
}
@凌驾
公共视图getChildView(int-groupPosition、int-childPosition、布尔isLastChild、视图convertView、视图组父级){
TextView text=null;
if(convertView!=null){
text=(TextView)convertView;
setText(childrenData.get(groupPosition.get(childPosition));
}否则{
text=createView(childrenData.get(groupPosition.get(childPosition));
}
返回文本;
}
@凌驾
公共整数getChildrenCount(整数组位置){
返回childrenData.get(groupPosition.size();
}
@凌驾
公共对象getGroup(int-groupPosition){
返回groupData.get(groupPosition);
}
@凌驾
public int getGroupCount(){
返回groupData.size();
}
@凌驾
公共长getGroupId(int-groupPosition){
返回0;
}
@凌驾
公共视图getGroupView(int groupPosition、布尔isExpanded、视图convertView、视图组父级){
TextView text=null;
if(convertView!=null){
text=(TextView)convertView;
setText(groupData.get(groupPosition));
}否则{
text=createView(groupData.get(groupPosition));
}
返回文本;
}
@凌驾
公共布尔表ID(){
返回false;
}
@凌驾
公共布尔值isChildSelectable(int-groupPosition,int-childPosition){
返回false;
}
私有文本视图createView(字符串内容
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
checkBox.setFocusable(false);
convertView.setClickable(false);
convertView.setClickable(false);
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}