Fragment的页面
public class MainActivity extends FragmentActivity {
private RadioGroup group;
private FrameLayout fragment;
private Fragment f1;
private Fragment f2;
private Fragment f3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragment=(FrameLayout) findViewById(R.id.fragment);
group=(RadioGroup) findViewById(R.id.group);
f1 = new FragmentOne();
f2 = new FragmentTwo();
f3 = new FragmentThree();
setaddfragment(f1);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.but1:
setaddfragment(f1);
break;
case R.id.but2:
setaddfragment(f2);
break;
case R.id.but3:
setaddfragment(f3);
break;
}
}
});
}
private void setaddfragment(Fragment fragment1){
FragmentManager supportFragmentManager = getSupportFragmentManager();
FragmentTransaction beginTransaction = supportFragmentManager.beginTransaction();
beginTransaction.replace(R.id.fragment,fragment1);
beginTransaction.commit();
}
}
XListview的步骤+AsyncTask的接受网络请求
public class FragmentOne extends Fragment {
private XListView Xlistview;
private MyAdapter myAdapter;
private MyBean myBean;
private List<MyBean.DataBean> list=new ArrayList<>();
private String url=“http://api.expoon.com/AppNews/getNewsList/type/1/p/1”;
private int page;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmentone, container, false);
Xlistview=(XListView) view.findViewById(R.id.Xlistview);
Xlistview.setPullLoadEnable(true);//开启上拉加载更多功能
new MyAsyn().execute(url);
initData(page);//请求网络数据
//设置上下拉的逻辑
Xlistview.setXListViewListener(new XListView.IXListViewListener() {
@Override
//下拉刷新
public void onRefresh() {
page=0;
initData(page);
}
@Override
//上拉加载更多;
public void onLoadMore() {
page++;
initData(page);
}
});
return view;
}
public void initData(int page){
String s = url + page;
new MyAsyn().execute(s);
}
class MyAsyn extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String sa = MyWork.sa(strings[0]);
return sa;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
myBean = gson.fromJson(s, MyBean.class);
List<MyBean.DataBean> data = myBean.getData();
list.addAll(data);
myAdapter = new MyAdapter(getActivity(), list);
Xlistview.setAdapter(myAdapter);
uiComplete();//让刷新头和刷新底部隐藏;
}
}
private void uiComplete(){
Xlistview.setRefreshTime("刚刚");
Xlistview.stopRefresh();//隐藏刷新头部
Xlistview.stopLoadMore();//隐藏刷新脚部
}
}
多条目
public class MyAdapter extends BaseAdapter {
private Context context;
private List<MyBean.DataBean> list;
public MyAdapter(Context context, List<MyBean.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public int getItemViewType(int position) {
return position%2;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
int itemViewType = getItemViewType(i);
switch (itemViewType){
case 0:
ViewHolder1 holder1;
if (view==null){
view=View.inflate(context,R.layout.item1,null);
holder1=new ViewHolder1();
holder1.text1=view.findViewById(R.id.text1);
holder1.text2=view.findViewById(R.id.text2);
holder1.image=view.findViewById(R.id.image);
view.setTag(holder1);
}else {
holder1= (ViewHolder1) view.getTag();
}
holder1.text1.setText(list.get(i).getNews_summary());
holder1.text2.setText(list.get(i).getNews_title());
ImageLoader.getInstance().displayImage(list.get(i).getPic_url(),holder1.image);
break;
case 1:
ViewHolder2 holder2;
if (view==null){
view=View.inflate(context,R.layout.item2,null);
holder2=new ViewHolder2();
holder2.tv1=view.findViewById(R.id.tv1);
holder2.tv2=view.findViewById(R.id.tv2);
view.setTag(holder2);
}else {
holder2= (ViewHolder2) view.getTag();
}
holder2.tv1.setText(list.get(i).getNews_summary());
holder2.tv2.setText(list.get(i).getNews_title());
break;
}
return view;
}
class ViewHolder1{
TextView text1,text2;
ImageView image;
}
class ViewHolder2{
TextView tv1,tv2;
}
}
设置圆角
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).build();
// ImageLoader.getInstance().init(build);
//给图片设置圆角
DisplayImageOptions displayImageOptions=new DisplayImageOptions.Builder()
.displayer(new RoundedBitmapDisplayer(20))
.build();
ImageLoaderConfiguration imageLoaderConfiguration=new ImageLoaderConfiguration.Builder(this)
.defaultDisplayImageOptions(displayImageOptions)
.build();
ImageLoader.getInstance().init(imageLoaderConfiguration);
}
}
网络请求
public class MyWork {
public static String sa(String url){
try {
URL url1 = new URL(url);
HttpURLConnection connection = (HttpURLConnection) url1.openConnection();
int code = connection.getResponseCode();
if (code==200){
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer stringBuffer = new StringBuffer();
String temp;
while ((temp=bufferedReader.readLine())!=null){
stringBuffer.append(temp);
}
return stringBuffer.toString();
}
}catch (Exception e){
e.printStackTrace();
}
return “”;
}
}