抽屉 加 主页面显示数据

activity_main.xml布局 (整体布局)

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android
android:id="@+id/dl_root"
android:layout_width=“match_parent”
android:layout_height=“match_parent”>

<LinearLayout
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="wrap_content">
<com.bwie.xlistview.XListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></com.bwie.xlistview.XListView>
</LinearLayout>

<LinearLayout
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#595353"
    android:orientation="vertical"
    >
   <ImageView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal"
       android:src="@mipmap/ic_launcher_round"
       />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="网易云"
        />
    <ListView
        android:id="@+id/list_drawer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></ListView>
</LinearLayout>

</android.support.v4.widget.DrawerLayout>

MainActivity页面(抽屉的 显示数据 的)

package com.example.lenovo.a06mo1;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.bwie.xlistview.XListView;
import com.google.gson.Gson;

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

public class MainActivity extends AppCompatActivity {
public static final String url=“http://www.xieast.com/api/news/news.php?page=”;
private static final String TAG=“MainActivity”;
private DrawerLayout dlRoot;
private ListView lvDrawer;
private List list;
private XListView xListView;
private NewsAdapter adapter;
private List<News.DataBean> xlist;
private int page=1;
private Handler handler=new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dlRoot=findViewById(R.id.dl_root);
lvDrawer=findViewById(R.id.list_drawer);

    xlist=new ArrayList<>();
    xListView=findViewById(R.id.list_view);
    adapter=new NewsAdapter(this,xlist);
    xListView.setAdapter(adapter);

    xListView.setPullRefreshEnable(true);
    xListView.setPullLoadEnable(true);
    xListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent=new Intent(MainActivity.this,ShowActivity.class);
            String sc=xlist.get(position).getUrl();
            intent.putExtra("sc",sc);
            startActivity(intent);
        }
    });
    xListView.setXListViewListener(new XListView.IXListViewListener() {
        @Override
        public void onRefresh() {
            page=1;
            getdata(page,true);
        }

        @Override
        public void onLoadMore() {
            page++;
            getdata(page,false);
        }
    });
    getdata(page,false);

    list=new ArrayList<>();
    list.add("我的音乐");
    list.add("我的会员");
    list.add("我的网盘");
    list.add("我的关注");

    lvDrawer.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,list));
    lvDrawer.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            NewsFragment fragment=NewsFragment.newInstance(list.get(position));

// getSupportFragmentManager().beginTransaction().replace(R.i,fragment).commit();
dlRoot.closeDrawer(Gravity.START);
}
});
dlRoot.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {

        }

        @Override
        public void onDrawerOpened(@NonNull View drawerView) {

        }

        @Override
        public void onDrawerClosed(@NonNull View drawerView) {

        }

        @Override
        public void onDrawerStateChanged(int newState) {
          switch (newState){
              case DrawerLayout.STATE_SETTLING:
                  Log.i(TAG,"STATE_SETTLING");
                  break;
              case DrawerLayout.STATE_DRAGGING:
                  Log.i(TAG,"STATE_DRAGGING");
                  break;
              case DrawerLayout.STATE_IDLE:
                  Log.i(TAG,"STATE_IDLE");
                  break;
          }
        }
    });
}

private void getdata(int page,final boolean b) {
    new AsyncTask<String, Integer, String>() {
        @Override
        protected String doInBackground(String... strings) {
            return HttpUtils.getInputHttp(strings[0]);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson=new Gson();
            News news=gson.fromJson(s,News.class);
            if (news!=null){
                List<News.DataBean> data=news.getData();
                if (data!=null){
                    if (!b){
                        xlist.clear();
                    }
                    xlist.addAll(data);
                    adapter.notifyDataSetChanged();

                }

            }
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    if (b){
                        xListView.stopLoadMore();
                    }else{
                        xListView.stopRefresh();
                        xListView.setRefreshTime("刚刚");
                    }
                }
            },2000);
        }
    }.execute(url+page);
}

}

NewsFragment页面

package com.example.lenovo.a06mo1;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

/**

  • Created by lenovo on 2018-10-20.
    */

public class NewsFragment extends Fragment{
private static final String FLAG=“按入”;
private TextView txtShow;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_news, null, false);
txtShow=v.findViewById(R.id.txt_show);
return v;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    Bundle bundle=getArguments();
    String result=bundle.getString(FLAG);

    txtShow.setText(result);
}

/**
 * 静态传值
 * @param
 * @return
 */
public static NewsFragment newInstance(String str) {
    NewsFragment fragment=new NewsFragment();
    Bundle bundle=new Bundle();
    bundle.putString(FLAG,str);

    fragment.setArguments(bundle);
    return fragment;
}

}

HttpUtils

package com.example.lenovo.a06mo1;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/**

  • Created by lenovo on 2018-10-20.
    */

public class HttpUtils {
public static String getInputHttp(String urlString){
String result="";
try {
URL url=new URL(urlString);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod(“GET”);
connection.setUseCaches(true);
connection.setDoInput(true);
connection.setDoOutput(false);
connection.setConnectTimeout(3000);
connection.connect();

        if (connection.getResponseCode()==200){
            InputStream is=connection.getInputStream();
            result=getInputStream(is);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return  result;
}

public  static String getInputStream(InputStream is) {
    String result="";

    try {
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        int length=-1;
        byte[] buffer=new byte[1024];
        while ((length=is.read(buffer,0,buffer.length))!=-1){
            baos.write(buffer,0,length);
            baos.flush();
        }
        result=baos.toString();
        baos.close();
        is.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return  result;
}

}

跳转的新闻详细页面ShowActivity##

package com.example.lenovo.a06mo1;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class ShowActivity extends AppCompatActivity {
private WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);

    wv=findViewById(R.id.wv);
    Intent intent=getIntent();
    String con=intent.getStringExtra("sc");
    wv.loadUrl(con);

    wv.setWebViewClient(new WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view,String url) {
            return super.shouldOverrideUrlLoading(view,url);
        }
    });

}

}

猜你喜欢

转载自blog.csdn.net/chuanchuandaxia/article/details/83303291