二级列表
2016-05-23 08:22
141 查看
package com.example.cartoon;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import cartoon.Book;
import com.google.gson.Gson;
import com.loopj.android.image.SmartImageView;
import Zhangjie.Bbean;
import Zhangjie.Chap;
import Zhangjie.Result;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.DataSetObserver;
import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class BookActivity extends Activity {
private Book bb;
private SmartImageView ss;
private TextView tt;
private ExpandableListView el;
private ExpandableListView ex;
private ArrayList<String> group;
private ArrayList<List<String>> child;
/*String key="a7682be6ad9e929a12d282fccf76c085";*/
String key="ad92d72a470d3894852f920cbe99b72b";
String path="http://japi.juhe.cn/comic/chapter";
private List<Chap> chapterList;
private TextView tg;
private TextView tr;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
Intent in = getIntent();
bb =(Book)in.getSerializableExtra("xx");
System.out.println(bb.toString());
ss=(SmartImageView)findViewById(R.id.sm);
tt=(TextView)findViewById(R.id.kk);
tg=(TextView)findViewById(R.id.aaa);
tr=(TextView)findViewById(R.id.insert);
tg.setText(bb.des);
Mysql ms=new Mysql(this);
db = ms.getReadableDatabase();
tr.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
db.execSQL("insert into cart (des,url,name)values(?,?,?)",new String[]{bb.des,bb.coverImg,bb.name});
Toast.makeText(BookActivity.this, "收藏成功", 1).show();
}
});
ss.setImageUrl(bb.coverImg);
tt.setText(bb.name);
el=(ExpandableListView)findViewById(R.id.el);
new Thread()
{
public void run()
{
http();
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
el.setAdapter(new MyAdpter());
}
});
};
}.start();
//用子列表的点击事件必须将二级列表的适配器里面的isChildSelectable方法的返回值设为true
el.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView arg0, View arg1, int arg2,
int arg3, long arg4) {
// TODO Auto-generated method stub
Intent in=new Intent(BookActivity.this,NNActivity.class);
in.putExtra("zz", child.get(arg2).get(arg3));
in.putExtra("cc",bb.name);
in.putExtra("ss", chapterList.get(arg3));
startActivity(in);
System.out.println("aa======="+bb.name);
System.out.println(child.get(arg2).get(arg3));
System.out.println(chapterList.get(arg3).id);
return false;
}
});
}
//二级列表的数据
public void getData()
{
group=new ArrayList<String>();
group.add("目录");
System.out.println(group);
child=new ArrayList<List<String>>();
for (Chap string : chapterList) {
List<String> li=new ArrayList<String>();
li.add(string.name);
child.add(li);
}
System.out.println("============="+child);
}
public void http()
{
HttpClient hc=new DefaultHttpClient();
HttpPost hp=new HttpPost(path);
List<NameValuePair> nv=new ArrayList<NameValuePair>();
nv.add(new BasicNameValuePair("key", key));
nv.add(new BasicNameValuePair("comicName", bb.name));
System.out.println(bb.name);
try {
UrlEncodedFormEntity ue=new UrlEncodedFormEntity(nv,"utf-8");
hp.setEntity(ue);
HttpResponse execute = hc.execute(hp);
HttpEntity entity = execute.getEntity();
String string = EntityUtils.toString(entity);
System.out.println(string);
Gson g=new Gson();
Bbean bean = g.fromJson(string, Bbean.class);
Result result = bean.result;
chapterList = result.chapterList;
System.out.println(chapterList);
getData();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class MyAdpter implements ExpandableListAdapter
{
@Override
public Object getChild(int arg0, int arg1) {
// TODO Auto-generated method stub
return child.get(arg0).get(arg1);
}
@Override
public long getChildId(int arg0, int arg1) {
// TODO Auto-generated method stub
return arg1;
}
@Override
public View getChildView(int arg0, int arg1, boolean arg2, View arg3,
ViewGroup arg4) {
// TODO Auto-generated method stub
Handler h;
if(arg3==null)
{
h=new Handler();
arg3=LayoutInflater.from(BookActivity.this).inflate(R.layout.ee, null);
h.im=(ImageView)arg3.findViewById(R.id.xxx);
h.tc=(TextView)arg3.findViewById(R.id.vvv);
arg3.setTag(h);
}
else
{
h=(Handler) arg3.getTag();
}
h.im.setImageResource(R.drawable.zx);
h.tc.setText(child.get(arg0).get(arg1));
return arg3;
}
@Override
public int getChildrenCount(int arg0) {
// TODO Auto-generated method stub
return child.get(arg0).size();
}
@Override
public Object getGroup(int arg0) {
// TODO Auto-generated method stub
return group.get(arg0);
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return group.size();
}
@Override
public long getGroupId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getGroupView(int arg0, boolean arg1, View arg2,
ViewGroup arg3) {
// TODO Auto-generated method stub
Handler h;
if(arg2==null)
{
h=new Handler();
arg2=LayoutInflater.from(BookActivity.this).inflate(R.layout.ee, null);
h.im=(ImageView)arg2.findViewById(R.id.xxx);
h.tc=(TextView)arg2.findViewById(R.id.vvv);
arg2.setTag(h);
}
else
{
h=(Handler) arg2.getTag();
}
h.im.setImageResource(R.drawable.as);
h.tc.setText(group.get(arg0));
return arg2;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean areAllItemsEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public long getCombinedChildId(long arg0, long arg1) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getCombinedGroupId(long arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onGroupCollapsed(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onGroupExpanded(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void registerDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
class Handler
{
private ImageView im;
private TextView tc;
}
}
}
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import cartoon.Book;
import com.google.gson.Gson;
import com.loopj.android.image.SmartImageView;
import Zhangjie.Bbean;
import Zhangjie.Chap;
import Zhangjie.Result;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.DataSetObserver;
import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class BookActivity extends Activity {
private Book bb;
private SmartImageView ss;
private TextView tt;
private ExpandableListView el;
private ExpandableListView ex;
private ArrayList<String> group;
private ArrayList<List<String>> child;
/*String key="a7682be6ad9e929a12d282fccf76c085";*/
String key="ad92d72a470d3894852f920cbe99b72b";
String path="http://japi.juhe.cn/comic/chapter";
private List<Chap> chapterList;
private TextView tg;
private TextView tr;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
Intent in = getIntent();
bb =(Book)in.getSerializableExtra("xx");
System.out.println(bb.toString());
ss=(SmartImageView)findViewById(R.id.sm);
tt=(TextView)findViewById(R.id.kk);
tg=(TextView)findViewById(R.id.aaa);
tr=(TextView)findViewById(R.id.insert);
tg.setText(bb.des);
Mysql ms=new Mysql(this);
db = ms.getReadableDatabase();
tr.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
db.execSQL("insert into cart (des,url,name)values(?,?,?)",new String[]{bb.des,bb.coverImg,bb.name});
Toast.makeText(BookActivity.this, "收藏成功", 1).show();
}
});
ss.setImageUrl(bb.coverImg);
tt.setText(bb.name);
el=(ExpandableListView)findViewById(R.id.el);
new Thread()
{
public void run()
{
http();
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
el.setAdapter(new MyAdpter());
}
});
};
}.start();
//用子列表的点击事件必须将二级列表的适配器里面的isChildSelectable方法的返回值设为true
el.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView arg0, View arg1, int arg2,
int arg3, long arg4) {
// TODO Auto-generated method stub
Intent in=new Intent(BookActivity.this,NNActivity.class);
in.putExtra("zz", child.get(arg2).get(arg3));
in.putExtra("cc",bb.name);
in.putExtra("ss", chapterList.get(arg3));
startActivity(in);
System.out.println("aa======="+bb.name);
System.out.println(child.get(arg2).get(arg3));
System.out.println(chapterList.get(arg3).id);
return false;
}
});
}
//二级列表的数据
public void getData()
{
group=new ArrayList<String>();
group.add("目录");
System.out.println(group);
child=new ArrayList<List<String>>();
for (Chap string : chapterList) {
List<String> li=new ArrayList<String>();
li.add(string.name);
child.add(li);
}
System.out.println("============="+child);
}
public void http()
{
HttpClient hc=new DefaultHttpClient();
HttpPost hp=new HttpPost(path);
List<NameValuePair> nv=new ArrayList<NameValuePair>();
nv.add(new BasicNameValuePair("key", key));
nv.add(new BasicNameValuePair("comicName", bb.name));
System.out.println(bb.name);
try {
UrlEncodedFormEntity ue=new UrlEncodedFormEntity(nv,"utf-8");
hp.setEntity(ue);
HttpResponse execute = hc.execute(hp);
HttpEntity entity = execute.getEntity();
String string = EntityUtils.toString(entity);
System.out.println(string);
Gson g=new Gson();
Bbean bean = g.fromJson(string, Bbean.class);
Result result = bean.result;
chapterList = result.chapterList;
System.out.println(chapterList);
getData();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class MyAdpter implements ExpandableListAdapter
{
@Override
public Object getChild(int arg0, int arg1) {
// TODO Auto-generated method stub
return child.get(arg0).get(arg1);
}
@Override
public long getChildId(int arg0, int arg1) {
// TODO Auto-generated method stub
return arg1;
}
@Override
public View getChildView(int arg0, int arg1, boolean arg2, View arg3,
ViewGroup arg4) {
// TODO Auto-generated method stub
Handler h;
if(arg3==null)
{
h=new Handler();
arg3=LayoutInflater.from(BookActivity.this).inflate(R.layout.ee, null);
h.im=(ImageView)arg3.findViewById(R.id.xxx);
h.tc=(TextView)arg3.findViewById(R.id.vvv);
arg3.setTag(h);
}
else
{
h=(Handler) arg3.getTag();
}
h.im.setImageResource(R.drawable.zx);
h.tc.setText(child.get(arg0).get(arg1));
return arg3;
}
@Override
public int getChildrenCount(int arg0) {
// TODO Auto-generated method stub
return child.get(arg0).size();
}
@Override
public Object getGroup(int arg0) {
// TODO Auto-generated method stub
return group.get(arg0);
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return group.size();
}
@Override
public long getGroupId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getGroupView(int arg0, boolean arg1, View arg2,
ViewGroup arg3) {
// TODO Auto-generated method stub
Handler h;
if(arg2==null)
{
h=new Handler();
arg2=LayoutInflater.from(BookActivity.this).inflate(R.layout.ee, null);
h.im=(ImageView)arg2.findViewById(R.id.xxx);
h.tc=(TextView)arg2.findViewById(R.id.vvv);
arg2.setTag(h);
}
else
{
h=(Handler) arg2.getTag();
}
h.im.setImageResource(R.drawable.as);
h.tc.setText(group.get(arg0));
return arg2;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean areAllItemsEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public long getCombinedChildId(long arg0, long arg1) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getCombinedGroupId(long arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onGroupCollapsed(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onGroupExpanded(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void registerDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
class Handler
{
private ImageView im;
private TextView tc;
}
}
}
相关文章推荐
- 高流量站点NGINX与PHP-fpm配置优化
- DOS批处理中%cd%和%~dp0的区别
- Servlet学习笔记
- 高效能人士的七个习惯——习惯一:积极主动
- XML的pull解析方式
- android 中widget组件
- 无限轮播
- HDU 5695 Gym Class(拓扑排序)
- bzoj3462: DZY Loves Math II
- ViewPager轮播
- 轮播图带小点的
- hdu 2157 How many ways??(图邻接矩阵上的乘法)
- 上下文菜单
- Stream流常用操作
- Androidsdtuio在使用ActionBar的情况下 icon 不显示的问题
- perl 改变对象属性
- perl 改变对象属性
- perl 改变对象属性
- Python闭包需要注意的问题
- AlertDialog(对话框)