Fragment 访问本地服务器,有三个fragment 这是其中一个的页面 三个fragmen都一样 因为我有一些朋友问这里面怎么写,索性就发表出来你们看下,大神勿喷。小学生作品!

这篇博客介绍了一个适合初学者的Android项目,通过Fragment实现主页面上的多个子页面切换。主要涉及MainActivity的设置,Fragment的创建,以及按钮事件监听来控制不同Fragment的显示与隐藏。此外,还提到了适配器MyAdapter的使用,以及xUtils和gson库的引用。
摘要由CSDN通过智能技术生成

主页面MainActivity


package com.example.yuekao_demo03;

import com.example.fragment.Ont_MyFragment;
import com.example.fragment.Three_MyFragment;
import com.example.fragment.Two_MyFragment;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends FragmentActivity implements OnClickListener {
        private Button b1,b2,b3,clear;
        
        private Ont_MyFragment one;
        private Two_MyFragment two;
        private Three_MyFragment three;
        
        FragmentManager fm;
        FragmentTransaction ft;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button();
            fragment();
        }
        private void button() {
            // TODO Auto-generated method stub
            b1 = (Button) findViewById(R.id.one_button);
            b2 = (Button) findViewById(R.id.two_button);
            b3 = (Button) findViewById(R.id.three_button);
            clear = (Button) findViewById(R.id.clear_button);
        }
        private void fragment() {
            // TODO Auto-generated method stub
            one = new Ont_MyFragment();
            two = new Two_MyFragment();
            three = new Three_MyFragment();
            
            fm = getSupportFragmentManager();
            ft = fm.beginTransaction();
            
            ft.add(R.id.fragment, one);
            ft.add(R.id.fragment, two);
            ft.add(R.id.fragment, three);
            
            ft.hide(two).hide(three);
            ft.commit();
            
            b1    .setOnClickListener(this);
            b2.setOnClickListener(this);
            b3.setOnClickListener(this);
            clear.setOnClickListener(this);
            
        }
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            FragmentTransaction ft =fm.beginTransaction();
            switch (v.getId()) {
            case R.id.one_button:
                ft.show(one);
                ft.hide(two);
                ft.hide(three);
                
                b1.setBackgroundColor(Color.WHITE);
                b2.setBackgroundColor(Color.BLACK);
                b3.setBackgroundColor(Color.BLACK);
                break;
            case R.id.two_button:
                ft.show(two);
                ft.hide(one);
                ft.hide(three);
                
                b1.setBackgroundColor(Color.BLACK);
                b2.setBackgroundColor(Color.WHITE);
                b3.setBackgroundColor(Color.BLACK);
                break;
            case R.id.three_button:
                ft.show(three);
                ft.hide(two);
                ft.hide(one);
                b1.setBackgroundColor(Color.BLACK);
                b2.setBackgroundColor(Color.BLACK);
                b3.setBackgroundColor(Color.WHITE);
                break;
            case R.id.clear_button:
                DataDeleter.cleanInternalCache(MainActivity.this);
                DataDeleter.cleanDatabases(MainActivity.this);
                
                Toast.makeText(MainActivity.this, "清除缓存", 2000).show();
                break;
            }
        }
}

fragment页面


package com.example.fragment;


import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.example.adapter.MyAdapter;
import com.example.bean.More;
import com.example.bean.MyBean;
import com.example.yuekao_demo03.R;
import com.google.gson.Gson;
import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.DbException;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;

public class Ont_MyFragment extends Fragment{
            private ListView listview;
            private List<More> list;
            private MyAdapter adapter;
            private static MyBean bean;
                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {

                        View v = inflater.inflate(R.layout.activity_f1, null);
                        listview = (ListView) v.findViewById(R.id.f1);
                        init();
                    return v;
                }
                private void init() {
                    HttpUtils hu = new HttpUtils();
                    String url = "http://172.22.37.80:8080/1402c/kebiao.json";
                    hu.configTimeout(5000);
                    hu.send(HttpMethod.GET, url,
                            new RequestCallBack<String>() {

                        @Override
                        public void onFailure(HttpException arg0, String arg1) {
                            
                        }
                        @Override
                        public void onSuccess(ResponseInfo<String> arg0) {
                                list = new ArrayList<More>();
                                Gson g = new Gson();
                                bean = g.fromJson(arg0.result, MyBean.class);
                                list = bean.getData().get(0).getMore();
                                Log.e("aaa",".................. "+list.toString());
                                adapter = new MyAdapter(list, getActivity());
                                listview.setAdapter(adapter);
                                
                                add();
                        }
                    });
                }
                private void add() {
                    DbUtils db = DbUtils.create(getActivity());
                    for (int i = 0; i < list.size(); i++) {
                        More m = new More(list.get(i).getCategory_id(),list.get(i).getLesson_id(),
                                list.get(i).getLesson_images(),list.get(i).getLesson_number(),
                                list.get(i).getLesson_title(),list.get(i).getUser_name());
                        try {
                            db.save(m);
                        } catch (DbException e) {
                            e.printStackTrace();
                        }
                    }
                }

}


adapter

package com.example.adapter;

import java.util.List;

import com.example.bean.More;
import com.example.yuekao_demo03.R;
import com.example.yuekao_demo03.R.id;
import com.lidroid.xutils.BitmapUtils;

import android.content.Context;
import android.content.pm.LabeledIntent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MyAdapter extends BaseAdapter {
            private List<More> list;
            private Context context;
            private LayoutInflater intent;
            private BitmapUtils bu;
            
    public MyAdapter(List<More> list, Context context) {
                super();
                this.list = list;
                this.context = context;
                intent = LayoutInflater.from(context);
                bu = new BitmapUtils(context);
            }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
            Helper h;
            if (convertView == null) {
                h = new Helper();
                convertView = intent.inflate(R.layout.activity_item, null);
                
                h.img = (ImageView) convertView.findViewById(R.id.item_imageView1);
                h.title = (TextView) convertView.findViewById(R.id.item_title);
                h.name = (TextView) convertView.findViewById(R.id.item_nam);
                
                convertView.setTag(h);
            }else{
                h = (Helper) convertView.getTag();
            }
                h.title.setText(list.get(position).getLesson_title());
                h.name.setText(list.get(position).getUser_name());
                bu.display(h.img, list.get(position).getLesson_images());
        return convertView;
    }
    class Helper{
        ImageView img;
        TextView title,name;
        
    }
}


还有一些事布局文件,这些我就不发了,实现的效果挺简单的,适合超级小白使用。也洗完大神们多多教教我们这些初学者!

还有两个jar包  xUtils-2.6.14.jar      -----------------   gson-2.3.1.jar  这俩jar包 就自己 下载好了!


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值