ExpandableListview中的onItemClickLIstener无反应解决思路

ExpandableListview中的onItemClickLIstener无反应
本帖最后由 whilgeek 于 2012-09-01 00:03:12 编辑
有人说把item的focus改成false就行,但是我的不行 。。。代码如下,先谢谢大家了


package com.example.borec;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import weibo4j.model.Status;
import android.app.ExpandableListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.view.View.OnCreateContextMenuListener;
import android.widget.AdapterView;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.SimpleExpandableListAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;

import com.google.gson.Gson;

public class ExpandableActivity extends ExpandableListActivity {
private ImageView im = null;
private TextView textview1 = null;

public void onCreate(Bundle savedInstanceState) {
// System.out.println("正在获取数据");
this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏
// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉信息栏
super.onCreate(savedInstanceState);
setContentView(R.layout.exapandable_listactivity);
im = (ImageView) findViewById(R.id.helpact);
textview1 = (TextView) findViewById(R.id.textView1);
im.setOnClickListener(new ImageListener());
textview1.setOnClickListener(new TextViewListener());
makeList();
}

public class ImageListener implements OnClickListener {

public void onClick(View v) {
// TODO Auto-generated method stub
Intent t = new Intent(ExpandableActivity.this,
GridLayoutActivity.class);
startActivity(t);
finish();
}

}

public class TextViewListener implements OnClickListener {

public void onClick(View v) {
// TODO Auto-generated method stub
Intent t = new Intent(ExpandableActivity.this,
GridLayoutActivity.class);
startActivity(t);
finish();
}

}

public void makeList() {
List<List<Map<String, String>>> children = new ArrayList<List<Map<String, String>>>();
List<Map<String, String>> groups = new ArrayList<Map<String, String>>();
// Map<String,String> group = new HashMap<String, String>();

SQLiteDatabase db = MainService.getDatabase();

ArrayList<String> userNameList = MainService.readUserName(db);
if (userNameList != null) {
for (int i = 0; i < userNameList.size(); i++) {
Map<String, String> group = new HashMap<String, String>();
group.put("group", userNameList.get(i));
groups.add(group);
// group.clear();
// System.out.println("group is " + group);
}
// 以上没有错误

ArrayList<String> uidList = MainService.readUid(db);
if (uidList != null) {
for (int i = 0; i < uidList.size(); i++) {
ArrayList<Status> statusList = readStatusByUid(uidList
.get(i));
List<Map<String, String>> childOfGroup = new ArrayList<Map<String, String>>();
if (statusList != null) {
for (int j = 0; j < statusList.size()
&& statusList.get(j) != null; j++) {
// System.out.println("j = " + j);
Map<String, String> childData = new HashMap<String, String>();
childData.put("childData", statusList.get(j)
.getText() + statusList.get(j).getAnnotations());
childOfGroup.add(childData);
// childData.clear();
// System.out.println(childData);
}
children.add(childOfGroup);
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"出了点小错,报告给作者吧", Toast.LENGTH_LONG);
toast.show();
}
}
SimpleExpandableListAdapter sela = new SimpleExpandableListAdapter(