private String path;
Handler handler = new Handler() {
public void handleMessage(Message msg) {
String xml = (String) msg.obj;
xml(xml);
xlistView.setAdapter(new MyAdapter(getActivity(), list));
};
};
LinkedList<Bean> list = new LinkedList<Bean>();
private Bean bean;
private XListView xlistView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View contextView = inflater.inflate(R.layout.fragment_item, container,
false);
xlistView = (XListView) contextView.findViewById(R.id.xlistView);
// 获取Activity传递过来的参数
Bundle mBundle = getArguments();
path = mBundle.getString("arg");
System.out.println(path + "java");
xlistView.setPullLoadEnable(true);
xlistView.setXListViewListener(this);
getXml();
return contextView;
}
protected void xml(String xml) {
// 得到解析器
XmlPullParser pullParser = Xml.newPullParser();
// 把Stirng转成流
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(
xml.getBytes());
try {
pullParser.setInput(new InputStreamReader(arrayInputStream));
// 得到事件类型
int eventType = pullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_TAG:
// 得到标签名
String tagName = pullParser.getName();
if ("news".equals(tagName)) {
bean = new Bean();
} else if ("title".equals(tagName)) {
bean.title = pullParser.nextText();
} else if ("body".equals(tagName)) {
bean.body = pullParser.nextText();
} else if ("commentCount".equals(tagName)) {
bean.commentCount = pullParser.nextText();
} else if ("author".equals(tagName)) {
bean.author = pullParser.nextText();
} else if ("pubDate".equals(tagName)) {
bean.pubDate = pullParser.nextText();
}
break;
case XmlPullParser.END_TAG:
// 结束标签的名字
tagName = pullParser.getName();
if ("news".equals(tagName)) {
list.addLast(bean);
}
break;
}
eventType = pullParser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void getXml() {
HttpUtils httpUtils = new HttpUtils();
httpUtils.configCurrentHttpCacheExpiry(0);
httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
System.out.println(result);
Message msg = Message.obtain();
msg.obj = result;
handler.sendMessage(msg);
}
});
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onRefresh() {
getXml();
xlistView.stopLoadMore();
xlistView.stopRefresh();
}
@Override
public void onLoadMore() {
getXml();
xlistView.stopLoadMore();
xlistView.stopRefresh();
}
}
//
public class MainActivity extends FragmentActivity implements OnClickListener {
private RadioGroup rg;
private RadioButton r1;
private RadioButton r2;
private RadioButton r3;
private RadioButton r4;
private ViewPager pager;
String[] path = new String[] {
"字符串"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找控件
findView();
// 设置监听
r1.setOnClickListener(this);
r2.setOnClickListener(this);
r3.setOnClickListener(this);
r4.setOnClickListener(this);
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return path.length;
}
@Override
public Fragment getItem(int arg0) {
// 新建一个Fragment来展示ViewPager item的内容,并传递参数
Fragment fragment = new ItemFragment();
Bundle args = new Bundle();
args.putString("arg", path[arg0]);
fragment.setArguments(args);
return fragment;
}
});
r1.setChecked(true);
r1.setTextColor(Color.GREEN);
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
r1.setChecked(true);
r2.setChecked(false);
r3.setChecked(false);
r4.setChecked(false);
r1.setTextColor(Color.GREEN);
r2.setTextColor(Color.BLACK);
r3.setTextColor(Color.BLACK);
r4.setTextColor(Color.BLACK);
break;
case 1:
r1.setChecked(false);
r2.setChecked(true);
r3.setChecked(false);
r4.setChecked(false);
r1.setTextColor(Color.BLACK);
r2.setTextColor(Color.GREEN);
r3.setTextColor(Color.BLACK);
r4.setTextColor(Color.BLACK);
break;
case 2:
r1.setChecked(false);
r2.setChecked(false);
r3.setChecked(true);
r4.setChecked(false);
r1.setTextColor(Color.BLACK);
r2.setTextColor(Color.BLACK);
r3.setTextColor(Color.GREEN);
r4.setTextColor(Color.BLACK);
break;
case 3:
r1.setChecked(false);
r2.setChecked(false);
r3.setChecked(false);
r4.setChecked(true);
r1.setTextColor(Color.BLACK);
r2.setTextColor(Color.BLACK);
r3.setTextColor(Color.BLACK);
r4.setTextColor(Color.GREEN);
break;
default:
break;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
private void findView() {
rg = (RadioGroup) findViewById(R.id.rg);
r1 = (RadioButton) rg.findViewById(R.id.r1);
r2 = (RadioButton) rg.findViewById(R.id.r2);
r3 = (RadioButton) rg.findViewById(R.id.r3);
r4 = (RadioButton) rg.findViewById(R.id.r4);
pager = (ViewPager) findViewById(R.id.pager);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.r1:
pager.setCurrentItem(0);
break;
case R.id.r2:
pager.setCurrentItem(1);
break;
case R.id.r3:
pager.setCurrentItem(2);
break;
case R.id.r4:
pager.setCurrentItem(3);
break;
default:
break;
}
}
}
/
public class MyAdapter extends BaseAdapter {
Context context;
LinkedList<Bean> list;
// 有参构造
public MyAdapter(Context context, LinkedList<Bean> list) {
super();
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
// 优化代码块
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
ViewHoler holer;
if (convertView == null) {
view = View.inflate(context, R.layout.listview, null);
holer = new ViewHoler();
holer.lv_title = (TextView) view.findViewById(R.id.lv_title);
holer.lv_body = (TextView) view.findViewById(R.id.lv_body);
holer.lv_author = (TextView) view.findViewById(R.id.lv_author);
holer.lv_pubdata = (TextView) view.findViewById(R.id.lv_pubdata);
holer.lv_pinlun = (TextView) view.findViewById(R.id.lv_pinlun);
view.setTag(holer);
} else {
view = convertView;
holer = (ViewHoler) view.getTag();
}
holer.lv_title.setText(list.get(position).title);
holer.lv_body.setText(list.get(position).body);
holer.lv_author.setText("作者:" + list.get(position).author);
holer.lv_pubdata.setText("时间:" + list.get(position).pubDate);
holer.lv_pinlun.setText("评论数:" + list.get(position).commentCount);
return view;
}
class ViewHoler {
TextView lv_title;
TextView lv_body;
TextView lv_author;
TextView lv_pubdata;
TextView lv_pinlun;
}
}
//
activity_main.xml
<RadioGroup
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/r1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:text="资讯" />
<RadioButton
android:id="@+id/r2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:text="热点 " />
<RadioButton
android:id="@+id/r3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:text="博客" />
<RadioButton
android:id="@+id/r4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:text="推荐" />
</RadioGroup>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rg" />
///
fragment_item.xml
<org.com.cctest.view.XListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/xlistView"
></org.com.cctest.view.XListView>
/
listview.xml
<TextView
android:id="@+id/lv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="TextView"
android:textSize="20sp" />
<TextView
android:id="@+id/lv_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/lv_title"
android:text="TextView" />
<TextView
android:id="@+id/lv_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/lv_body"
android:text="TextView" />
<TextView
android:id="@+id/lv_pubdata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/lv_author"
android:layout_alignBottom="@+id/lv_author"
android:layout_marginLeft="44dp"
android:layout_toRightOf="@+id/lv_author"
android:text="TextView" />
<TextView
android:id="@+id/lv_pinlun"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/lv_pubdata"
android:layout_alignBottom="@+id/lv_pubdata"
android:layout_alignParentRight="true"
android:layout_marginRight="36dp"
android:text="TextView" />
//