Fragment之间的相互替换(内有httpclient请求)

MainActivity

package com.example.textwork2;

import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;

public class MainActivity extends FragmentActivity implements OnClickListener {

    private FragmentManager supportFragmentManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        supportFragmentManager = getSupportFragmentManager();
        Button b1 = (Button) findViewById(R.id.b1);
        Button b2 = (Button) findViewById(R.id.b2);
        Button b3 = (Button) findViewById(R.id.b3);
        Button b4 = (Button) findViewById(R.id.b4);
        FrameLayout frag = (FrameLayout) findViewById(R.id.frag);

        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        FragmentTransaction beginTransaction = supportFragmentManager
        .beginTransaction();
        switch (v.getId()) {
        case R.id.b1:

            beginTransaction.replace(R.id.frag, new F1()).commit();
            break;
        case R.id.b2:

            beginTransaction.replace(R.id.frag, new F2()).commit();
            break;
        case R.id.b3:

            beginTransaction.replace(R.id.frag, new F3()).commit();
            break;
        case R.id.b4:

            beginTransaction.replace(R.id.frag, new F4()).commit();
            break;

        default:
            break;
        }

    }

}

F1的fragment

package com.example.textwork2;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import com.example.textwork2.News.AA;
import com.google.gson.Gson;

import android.content.Intent;
import android.graphics.YuvImage;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
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.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class F1 extends Fragment {
    private static final String tag = "MainActivity";
    private View view;
    private ListView listView;

    Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
            case 1:
                News fromJson = (News) msg.obj;
                for (int i = 0; i < fromJson.array.size(); i++) {
                    if (fromJson.array.get(i).type.equals("推荐")) {
                        al.add(fromJson.array.get(i));

                    }
                }

                listView.setAdapter(new MyAdapter(getActivity(), al));
                break;

            default:
                break;
            }
        };
    };
    private List<AA> al;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragitems, container, false);
        listView = (ListView) view.findViewById(R.id.listView);
        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                Intent intent = new Intent(getActivity(), NewActivity.class);
                intent.putExtra("title", al.get(arg2).title);
                intent.putExtra("content", al.get(arg2).content);
                startActivity(intent);

            }
        });
        return view;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);

        al = new ArrayList<AA>();
        String path = "http://172.17.29.120/localuser/ljy/xuanxuan/datas.json";
        getsubmit(path);

    }

    private void getsubmit(final String path) {
        new Thread() {
            public void run() {
                try {
                    HttpClient httpClient = new DefaultHttpClient();
                    HttpGet httpGet = new HttpGet(path);
                    HttpResponse httpResponse = httpClient.execute(httpGet);
                    int statusCode = httpResponse.getStatusLine()
                            .getStatusCode();
                    if (statusCode == 200) {
                        InputStream inputStream = httpResponse.getEntity()
                                .getContent();
                        String st = Utils.getcon(inputStream);

                        Gson gson = new Gson();
                        News fromJson = gson.fromJson(st, News.class);

                        Message msg = Message.obtain();
                        msg.obj = fromJson;
                        msg.what = 1;
                        handler.sendMessage(msg);
                    }

                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            };
        }.start();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值