正在回答
11回答

这里没有改过来丫,我的意思是红框的都去掉
慕UI6705487
2018-03-13 14:23:22
package com.hala.view01;
import java.util.ArrayList;
import java.util.List;
/**
* Created by air on 2018/3/6.
*/
public class LocalData {
/**
* 获取列表组的数据
* @return
*/
public static List<String> getGroupData(){
List<String> groups=new ArrayList<String>();
groups.add("权利的游戏第一季");
groups.add("权利的游戏第二季");
return groups;
}
/**
* 获取子条目的数据
* @return
*/
public static List<List<String>> getChildData(){
List<List<String>> childs= new ArrayList<List<String>>() {
@Override
public int size() {
return 0;
}
@Override
public List<String> get(int index) {
return null;
}
};
List<String> item1=new ArrayList<String>();
item1.add("龙的诞生");
item1.add("耐得史塔克之死");
childs.add(item1);
List<String> item2=new ArrayList<String>();
item1.add("红袍女的出现");
item1.add("少狼主起兵");
item2.add("弑君者被抓");
childs.add(item2);
return childs;
}
}
慕UI6705487
2018-03-12 20:15:30
慕UI6705487
2018-03-12 16:47:36

空指针报错
慕UI6705487
2018-03-12 16:46:19
package com.hala.view01;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import java.util.List;
/** 基础适配器
* Created by air on 2018/3/6.
*/
public abstract class MyBaseAdapter<T> extends BaseExpandableListAdapter {
private List<String> groups;
private List<List<T>> childs;
Context mcontext;
LayoutInflater mlayoutInflater;
public MyBaseAdapter(Context context){
mcontext=context;
mlayoutInflater=LayoutInflater.from(mcontext);
}
public void addNewData(List<String> groups,List<List<T>> childs){
this.groups=groups;
this.childs=childs;
}
/**
* 获取组的数量
* @return
*/
@Override
public int getGroupCount() {
return groups.size();
}
/**
* 获取组的id
* @param groupPosition 组的位置
* @return
*/
@Override
public long getGroupId(int groupPosition) {
return 0;
}
/**
* 获取组的视图
* @param groupPosition 组的位置
* @param isExpanded 组是否是展开的
* @param convertView 视图
* @param parent 环境
* @return
*/
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
return MyGroupView(groupPosition,convertView);
}
/**
* 获取组的具体内容
* @param groupPosition 组的位置
* @return
*/
@Override
public String getGroup(int groupPosition) {
return groups.get(groupPosition);
}
/**
* 获取组的子条目数量
* @param groupPosition 组的位置
* @return
*/
@Override
public int getChildrenCount(int groupPosition) {
return childs.get(groupPosition).size();
}
/**
* 获取具体子条目的内容
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @return
*/
@Override
public T getChild(int groupPosition, int childPosition) {
return childs.get(groupPosition).get(childPosition);
}
/**
* 获取子条目的位置
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @return
*/
@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}
/**
* 获取子条目的视图
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @param isLastChild 是否是最后一个子条目
* @param convertView 视图
* @param parent 环境
* @return
*/
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
return MyChildView(groupPosition,childPosition,convertView);
}
public abstract View MyGroupView(int groupPosition,View groupview);
public abstract View MyChildView(int groupPosition,int childPosition,View childview);
@Override
public boolean hasStableIds() {
return false;
}
/**
* 子条目是否可以被点击
* @param groupPosition
* @param childPosition
* @return
*/
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}MyBaseAdapter类,添加了范型
package com.hala.view01;
import android.content.Context;
import android.view.View;
import android.widget.TextView;
/** 本地数据适配器
* Created by air on 2018/3/6.
*/
public class LocalAdapter extends MyBaseAdapter {
public LocalAdapter(Context context) {
super(context);
}
@Override
public View MyGroupView(int groupPosition, View groupview) {
View view=mlayoutInflater.inflate(R.layout.item_elv_group,null);
TextView txttTitle=(TextView) view.findViewById(R.id.txt_group);
txttTitle.setText(getGroup(groupPosition));
txttTitle.setPadding(30,0,0,0);
//设置内边距,据左边为30dp
return view;
}
@Override
public View MyChildView(int groupPosition, int childPosition, View childview) {
View view=mlayoutInflater.inflate(R.layout.item_elv_child,null);
// TextView txtContent=(TextView)view.findViewById(R.id.txt_child);
// txtContent.setText(getChild(groupPosition,childPosition));
// txtContent.setPadding(30,0,0,0);
return view;
}
}LocalAdapter类,将最后三行注释掉了
慕UI6705487
2018-03-09 19:12:32
/**
* 获取具体子条目的内容
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @return
*/
@Override
public String getChild(int groupPosition, int childPosition) {
return childs.get(groupPosition).get(childPosition);
}MyBaseAdapter类中的问题代码段

报错内容
慕UI6705487
2018-03-08 21:39:50
LocalAdapter类
package com.hala.view01;
import android.content.Context;
import android.view.View;
import android.widget.TextView;
/** 本地数据适配器
* Created by air on 2018/3/6.
*/
public class LocalAdapter extends MyBaseAdapter {
public LocalAdapter(Context context) {
super(context);
}
@Override
public View MyGroupView(int groupPosition, View groupview) {
View view=mlayoutInflater.inflate(R.layout.item_elv_group,null);
TextView txttTitle=(TextView) view.findViewById(R.id.txt_group);
txttTitle.setText(getGroup(groupPosition));
txttTitle.setPadding(30,0,0,0);
//设置内边距,据左边为30dp
return view;
}
@Override
public View MyChildView(int groupPosition, int childPosition, View childview) {
View view=mlayoutInflater.inflate(R.layout.item_elv_child,null);
TextView txtContent=(TextView)view.findViewById(R.id.txt_child);
txtContent.setText(getChild(groupPosition,childPosition));
txtContent.setPadding(30,0,0,0);
return view;
}
}主页面java文件
package com.hala.view01;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.Toast;
public class Main2Activity extends AppCompatActivity {
private ExpandableListView expandableListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
expandableListView=(ExpandableListView)findViewById(R.id.elv);
loadLocal();
expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
/**
*组的点击事件
* @param parent 即expandableListView
* @param v 即Groupview
* @param groupPosition 组的位置
* @param id
* @return
*/
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
Toast.makeText(Main2Activity.this, "你点击的是:"+LocalData.getGroupData().get(groupPosition), Toast.LENGTH_SHORT).show();
return false;
}
});
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
/**
* 子条目的点击事件
* @param parent 即expandableListView
* @param v 即Groupview
* @param groupPosition 组的位置
* @param childPosition 子条目的位置
* @param id
* @return
*/
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
Toast.makeText(Main2Activity.this, "你点击的是:"+LocalData.getChildData().get(childPosition), Toast.LENGTH_SHORT).show();
return false;
}
});
}
//加载本地数据
public void loadLocal(){
LocalAdapter adapter=new LocalAdapter(this);
//添加数据
adapter.addNewData(LocalData.getGroupData(),LocalData.getChildData());
expandableListView.setAdapter(adapter);
}
}
慕UI6705487
2018-03-08 21:38:10
LocalData类
package com.hala.view01;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.List;
/**
* Created by air on 2018/3/6.
*/
public class LocalData {
/**
* 获取列表组的数据
* @return
*/
public static List<String> getGroupData(){
List<String> groups=new ArrayList<String>();
groups.add("权利的游戏第一季");
groups.add("权利的游戏第二季");
return groups;
}
/**
* 获取子条目的数据
* @return
*/
public static List<List<String>> getChildData(){
List<List<String>> childs= new AbstractList<List<String>>() {
@Override
public int size() {
return 0;
}
@Override
public List<String> get(int index) {
return null;
}
};
List<String> item1=new ArrayList<String>();
item1.add("龙的诞生");
item1.add("耐得史塔克之死");
childs.add(item1);
List<String> item2=new ArrayList<String>();
item1.add("红袍女的出现");
item1.add("少狼主起兵");
item2.add("弑君者被抓");
childs.add(item2);
return childs;
}
}MyBaseAdapter类
package com.hala.view01;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import java.util.List;
/** 基础适配器
* Created by air on 2018/3/6.
*/
public abstract class MyBaseAdapter extends BaseExpandableListAdapter {
private List<String> groups;
private List<List<String>> childs;
Context mcontext;
LayoutInflater mlayoutInflater;
public MyBaseAdapter(Context context){
mcontext=context;
mlayoutInflater=LayoutInflater.from(mcontext);
}
public void addNewData(List<String> groups,List<List<String>> childs){
this.groups=groups;
this.childs=childs;
}
/**
* 获取组的数量
* @return
*/
@Override
public int getGroupCount() {
return groups.size();
}
/**
* 获取组的id
* @param groupPosition 组的位置
* @return
*/
@Override
public long getGroupId(int groupPosition) {
return 0;
}
/**
* 获取组的视图
* @param groupPosition 组的位置
* @param isExpanded 组是否是展开的
* @param convertView 视图
* @param parent 环境
* @return
*/
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
return MyGroupView(groupPosition,convertView);
}
/**
* 获取组的具体内容
* @param groupPosition 组的位置
* @return
*/
@Override
public String getGroup(int groupPosition) {
return groups.get(groupPosition);
}
/**
* 获取组的子条目数量
* @param groupPosition 组的位置
* @return
*/
@Override
public int getChildrenCount(int groupPosition) {
return childs.get(groupPosition).size();
}
/**
* 获取具体子条目的内容
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @return
*/
@Override
public String getChild(int groupPosition, int childPosition) {
return childs.get(groupPosition).get(childPosition);
}
/**
* 获取子条目的位置
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @return
*/
@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}
/**
* 获取子条目的视图
* @param groupPosition 组的位置
* @param childPosition 子条目在组中的位置
* @param isLastChild 是否是最后一个子条目
* @param convertView 视图
* @param parent 环境
* @return
*/
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
return MyChildView(groupPosition,childPosition,convertView);
}
public abstract View MyGroupView(int groupPosition,View groupview);
public abstract View MyChildView(int groupPosition,int childPosition,View childview);
@Override
public boolean hasStableIds() {
return false;
}
/**
* 子条目是否可以被点击
* @param groupPosition
* @param childPosition
* @return
*/
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
Android网络操作与数据存储2018版
- 参与学习 人
- 提交作业 307 份
- 解答问题 1613 个
本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星