抽屉布局(侧拉)

来源:互联网 发布:网络电视客户端 编辑:程序博客网 时间:2024/05/22 10:56
MainAcyivitypublic class MainActivity extends AppCompatActivity {    private DrawerLayout drawerLayout;    private FrameLayout frameLayout;    private RelativeLayout relativeLayout;    private ListView listView;    private List<String> titles;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //抽屉根布局        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);        //主布局        frameLayout = (FrameLayout) findViewById(R.id.frame_layout);        //抽屉布局        relativeLayout = (RelativeLayout) findViewById(R.id.relative_layout);        listView = (ListView) findViewById(R.id.list_view);        //给listview添加适配        titles = new ArrayList<>();        titles.add("头条");        titles.add("社会");        titles.add("国内");        titles.add("娱乐");        titles.add("体育");        titles.add("军事");        titles.add("科技");        titles.add("时尚");        ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,titles);        listView.setAdapter(adapter);        //刚进入页面        NewsFragment newsFragmentt = new NewsFragment();        Bundle bundle=new Bundle();        bundle.putString("name",titles.get(0));        newsFragmentt.setArguments(bundle);        getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,newsFragmentt).commit();        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                //隐藏侧滑菜单                drawerLayout.closeDrawer(relativeLayout);                NewsFragment newsFragmentt = new NewsFragment();                Bundle bundle=new Bundle();                bundle.putString("name",titles.get(position));                newsFragmentt.setArguments(bundle);                getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,newsFragmentt).commit();            }        });    }} NewsFragment
public class NewsFragment extends Fragment {    private ListView lv;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view=inflater.inflate(R.layout.fragment_layout,container,false);        lv = (ListView) view.findViewById(R.id.lv);        return view;    }//        titles.add("头条");//        titles.add("社会");//        titles.add("国内");//        titles.add("娱乐");//        titles.add("体育");//        titles.add("军事");//        titles.add("科技");//        titles.add("时尚");    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        String name = getArguments().getString("name", "");        if(name.equals("头条")){            name="top";        }else if(name.equals("社会")){            name="shehui";        }else if(name.equals("国内")){            name="guonei";        }else if(name.equals("娱乐")){            name="yule";        }else if(name.equals("体育")){            name="tiyu";        }else if(name.equals("军事")){            name="junshi";        }else if(name.equals("科技")){            name="科技";        }else if(name.equals("时尚")){            name="shishang";        }        getDataByNet(name);    }    private void getDataByNet(final String name) {        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {            @Override            protected String doInBackground(Void... params) {                try {                    URL url=new URL("http://v.juhe.cn/toutiao/index?type="+name+"&key=b8ed90055f77fabaf28751df2a9e9c5b");                    HttpURLConnection connection= (HttpURLConnection) url.openConnection();                    //设置                    connection.setRequestMethod("GET");                    connection.setReadTimeout(5000);                    connection.setConnectTimeout(5000);                    int responseCode = connection.getResponseCode();                    if (responseCode == 200){                        InputStream inputStream = connection.getInputStream();                        String json = streamToString(inputStream, "utf-8");                        //返回                        return json;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return null;            }            @Override            protected void onPostExecute(String s) {                Gson gson=new Gson();                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                List<DataDataBean.ResultBean.DataBean> data = dataDataBean.getResult().getData();                MyAdapter myAdapter = new MyAdapter(getActivity(), data);                lv.setAdapter(myAdapter);            }        };        asyncTask.execute();    }    private String streamToString(InputStream inputStream,String charset) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null){                builder.append(s);            }            bufferedReader.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return  null;    }}
原创粉丝点击