我调用的带9个参数的构造函数,
为什么二级目录中ImageView出现了classcastexception异常?
如果把暂时把上面相关代码注释掉再调试,
为什么调试运行后二级子目录中的内容全部显示到了第一个一级子目录的下面去了?
请求各路大神援助!!!源代码如下:
import java.util.ArrayList;
import java.util.HashMap;import android.app.Activity;
import android.os.Bundle;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;public class MainActivity extends Activity{
ExpandableListView explv;
ArrayList<HashMap<String,String>> group;
ArrayList<HashMap<String, Object>> server1,server2,server3;
ArrayList<ArrayList<HashMap<String,Object>>> servers;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
explv=(ExpandableListView) findViewById(R.id.maindown_expandableListView);
group=new ArrayList<HashMap<String,String>>();
server1=new ArrayList<HashMap<String,Object>>();
server2=new ArrayList<HashMap<String,Object>>();
server3=new ArrayList<HashMap<String,Object>>();
servers=new ArrayList<ArrayList<HashMap<String,Object>>>();
explv.setAdapter(new SimpleExpandableListAdapter(
this, getGroupList(), R.layout.group,
new String[]{"groupname"},
new int[]{R.id.groupname_textView},
getServers(), R.layout.server2,
new String[]{"name","picture","sex","public"},
new int[]{R.id.servername_textView,R.id.serverlog_imageView,R.id.serverprivate_textView,R.id.serverpublic_textView}));
}
ArrayList<HashMap<String,String>> getGroupList(){
HashMap<String, String> map1,map2,map3;
map1=new HashMap<String,String>();
map1.put("groupname", "XX");
map2=new HashMap<String,String>();
map2.put("groupname", "XX");
map3=new HashMap<String,String>();
map3.put("groupname", "XX");
group.add(map1);
group.add(map2);
group.add(map3);
return group;
}
ArrayList<HashMap<String,Object>> getServer1List(){
HashMap<String, Object> map1,map2,map3;
map1=new HashMap<String,Object>();
map1.put("name", "XXXX");
map1.put("picture",R.drawable.icon );
map1.put("sex", "XXXX");
map1.put("public", "XXXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXXX");
map2.put("public", "XXXX");
map3=new HashMap<String,Object>();
map3.put("name", "XXX");
map3.put("picture",R.drawable.icon );
map3.put("sex", "XXX");
map3.put("public", "XXX");
server1.add(map1);
server1.add(map2);
server1.add(map3);
return server1;
}
ArrayList<HashMap<String,Object>> getServer2List(){
HashMap<String, Object> map1,map2;
map1=new HashMap<String,Object>();
map1.put("name", "XXX");
map1.put("picture",R.drawable.icon);
map1.put("sex", "XXX");
map1.put("public", "XXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXX);
map2.put("public", "XXX");
server1.add(map1);
server1.add(map2);
return server2;
}
ArrayList<HashMap<String,Object>> getServer3List(){
HashMap<String, Object> map1,map2,map3;
map1=new HashMap<String,Object>();
map1.put("name", "XXX");
map1.put("picture",R.drawable.icon );
map1.put("sex", "XXX");
map1.put("public", "XXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXX");
map2.put("public", "XX");
map3=new HashMap<String,Object>();
map3.put("name", "XX");
map3.put("picture",R.drawable.icon );
map3.put("sex", "XX");
map3.put("public", "XXX");
server1.add(map1);
server1.add(map2);
server1.add(map3);;
return server3;
}
ArrayList<ArrayList<HashMap<String,Object>>> getServers(){
servers.add(getServer1List());
servers.add(getServer2List());
servers.add(getServer3List());
return servers;
}
}
为什么二级目录中ImageView出现了classcastexception异常?
如果把暂时把上面相关代码注释掉再调试,
为什么调试运行后二级子目录中的内容全部显示到了第一个一级子目录的下面去了?
请求各路大神援助!!!源代码如下:
import java.util.ArrayList;
import java.util.HashMap;import android.app.Activity;
import android.os.Bundle;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;public class MainActivity extends Activity{
ExpandableListView explv;
ArrayList<HashMap<String,String>> group;
ArrayList<HashMap<String, Object>> server1,server2,server3;
ArrayList<ArrayList<HashMap<String,Object>>> servers;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
explv=(ExpandableListView) findViewById(R.id.maindown_expandableListView);
group=new ArrayList<HashMap<String,String>>();
server1=new ArrayList<HashMap<String,Object>>();
server2=new ArrayList<HashMap<String,Object>>();
server3=new ArrayList<HashMap<String,Object>>();
servers=new ArrayList<ArrayList<HashMap<String,Object>>>();
explv.setAdapter(new SimpleExpandableListAdapter(
this, getGroupList(), R.layout.group,
new String[]{"groupname"},
new int[]{R.id.groupname_textView},
getServers(), R.layout.server2,
new String[]{"name","picture","sex","public"},
new int[]{R.id.servername_textView,R.id.serverlog_imageView,R.id.serverprivate_textView,R.id.serverpublic_textView}));
}
ArrayList<HashMap<String,String>> getGroupList(){
HashMap<String, String> map1,map2,map3;
map1=new HashMap<String,String>();
map1.put("groupname", "XX");
map2=new HashMap<String,String>();
map2.put("groupname", "XX");
map3=new HashMap<String,String>();
map3.put("groupname", "XX");
group.add(map1);
group.add(map2);
group.add(map3);
return group;
}
ArrayList<HashMap<String,Object>> getServer1List(){
HashMap<String, Object> map1,map2,map3;
map1=new HashMap<String,Object>();
map1.put("name", "XXXX");
map1.put("picture",R.drawable.icon );
map1.put("sex", "XXXX");
map1.put("public", "XXXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXXX");
map2.put("public", "XXXX");
map3=new HashMap<String,Object>();
map3.put("name", "XXX");
map3.put("picture",R.drawable.icon );
map3.put("sex", "XXX");
map3.put("public", "XXX");
server1.add(map1);
server1.add(map2);
server1.add(map3);
return server1;
}
ArrayList<HashMap<String,Object>> getServer2List(){
HashMap<String, Object> map1,map2;
map1=new HashMap<String,Object>();
map1.put("name", "XXX");
map1.put("picture",R.drawable.icon);
map1.put("sex", "XXX");
map1.put("public", "XXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXX);
map2.put("public", "XXX");
server1.add(map1);
server1.add(map2);
return server2;
}
ArrayList<HashMap<String,Object>> getServer3List(){
HashMap<String, Object> map1,map2,map3;
map1=new HashMap<String,Object>();
map1.put("name", "XXX");
map1.put("picture",R.drawable.icon );
map1.put("sex", "XXX");
map1.put("public", "XXX");
map2=new HashMap<String,Object>();
map2.put("name", "XXX");
map2.put("picture",R.drawable.icon );
map2.put("sex", "XXX");
map2.put("public", "XX");
map3=new HashMap<String,Object>();
map3.put("name", "XX");
map3.put("picture",R.drawable.icon );
map3.put("sex", "XX");
map3.put("public", "XXX");
server1.add(map1);
server1.add(map2);
server1.add(map3);;
return server3;
}
ArrayList<ArrayList<HashMap<String,Object>>> getServers(){
servers.add(getServer1List());
servers.add(getServer2List());
servers.add(getServer3List());
return servers;
}
}
解决方案 »
- eclipse安卓环境配置问题,求解救
- android程序如何让用户自定义启动的activity?
- android导入htmlparser的jar包后有NoClassDefFoundError错误
- android怎么适应平板电脑屏幕大小
- intend对象可以连续传递吗
- 使用三星的Glayax调试时, Logcat打印, 时间和tag是乱码, 不知怎么解决
- 如何调整logcat窗口大小
- 菜鸟Android小问题!急!
- WebView 加载html5 OpenGL
- Android 下载文件(jsp做的服务器上)下载下来和源文件大小不一致
- 上传APK软件到安智平台上提示:请上传一个有效的APK
- 请教一个Android模拟器的网络问题
让我心碎。
看你的情况,只需要重写getView即可。
里面应该是:
server2.add(map1);
server2.add(map2);getServer3List()
里面应该是:
server3.add(map1);
server3.add(map2);
server3.add(map3);尽量少复制代码,这是先辈给我们的教训,就算复制,也要仔细检查,调查表明,很多bug是复制出来的。