抽象类和 bottom的Activity

public abstract  class BaseActivity extends AppCompatActivity {


    /**
     * 不要实现两个参数的onCreate;
     * 不要实现两个参数的onCreate;
     * 不要实现两个参数的onCreate;
     * @param savedInstanceState
     */
//    @Override
//    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
//        super.onCreate(savedInstanceState, persistentState);
//        Log.e("wzq","BaseActivity - onCreate");
//
//        setContentView(initLayout());
//        initVeiw();
//        initData();
//        setListener();
//    }

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initVeiw();
        initData();
        setListener();
    }


    // 抽取加载布局的方法
    public abstract void initVeiw();
    // 抽取加载数据的方法
    public abstract void initData();
    //抽取设置监听的方法
    public  abstract void setListener();

    /**
     * 跳转方法
     * @param glass
     */
    public void jumpActivity(Class glass){

        Intent intent = new Intent(this,glass);
        startActivity(intent);
    }

}
 

继承上一个类

public class MainActivity extends BaseActivity {
    String baseUrl = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum=";
    private ArrayList<String> list = new ArrayList();
    private PullToRefreshListView plv;
    private int page = 0;
    private ArrayAdapter<String> mAdapter;

    @Override
   public void initVeiw() {
        setContentView(R.layout.activity_main);
        Log.e("wzq","initVeiw");
        plv = (PullToRefreshListView) findViewById(R.id.plv);
        plv.setMode(PullToRefreshBase.Mode.BOTH);   // 上下拉刷新都支持;

        // 设置adapter
        mAdapter = new ArrayAdapter<>(MainActivity.this,
                android.R.layout.simple_list_item_1, list);
        plv.setAdapter(mAdapter);
    }

    @Override
    public void initData() {
        Log.e("wzq","initData");
        //请求网络
        getNetData(0);
    }

    @Override
    public void setListener() {
        Log.e("wzq","setListener");
        //  监听使用OnRefreshListener;
        plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {

            //  下拉刷新
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                list.clear();
                page = 0;
                getNetData(page);
            }

            //  上拉加载更多;
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                getNetData(page++);
            }
        });

    }


    private void getNetData(int page) {
        new MAsyncTask().execute(baseUrl + page);

    }


    class MAsyncTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... strings) {
            return NetWordUtils.getNetjson(strings[0]);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Log.e("wzq","json--"+s);
            Gson gson = new Gson();
            Product product = gson.fromJson(s, Product.class);
            List<Product.DataBean> dataTemp = product.getData();

            ArrayList<String> stringList = new ArrayList<>();//初始化一个空的字符串集合

            for (int i = 0; i < dataTemp.size(); i++) {
                stringList.add(dataTemp.get(i).getTITLE());
            }

            list.addAll(stringList);
            mAdapter.notifyDataSetChanged();
            plv.onRefreshComplete(); //    让刷新头和刷新底部返回
        }
    }


    @Override
    protected void onResume() {
        super.onResume();
        Log.e("wzq","onResume");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("wzq","onDestroy");

    }
}

bottom的Activity

package lmm.bw.com.mythird.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import lmm.bw.com.mythird.Fragment01;
import lmm.bw.com.mythird.Fragment02;
import lmm.bw.com.mythird.Fragment03;
import lmm.bw.com.mythird.R;

public class LoginActivity extends BlankActivity {

    private DrawerLayout drawerLayout;
    private TextView mTextMessage;

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();

            switch (item.getItemId()) {
                case R.id.navigation_home:
                   fragmentTransaction.show(fragment01).hide(fragment02).hide(fragment03);
                   break;
                case R.id.navigation_dashboard:
                   fragmentTransaction.show(fragment02).hide(fragment01).hide(fragment03);
                   break;
                case R.id.navigation_notifications:
                   fragmentTransaction.show(fragment03).hide(fragment02).hide(fragment01);
                   break;
            }
            fragmentTransaction.commit();
            return true;
        }
    };
    private FrameLayout frameLayout;
    private ImageView imageView;
    private Fragment01 fragment01;
    private Fragment02 fragment02;
    private Fragment03 fragment03;
    private FragmentTransaction transaction;


    @Override
    public void intView() {
        drawerLayout = findViewById(R.id.drawer);
        frameLayout = findViewById(R.id.framelayout);
        imageView = findViewById(R.id.img);
    }

    @Override
    protected void intData() {
        fragment01 = new Fragment01();
        fragment02 = new Fragment02();
        fragment03 = new Fragment03();

        transaction = getSupportFragmentManager().beginTransaction();

        FragmentTransaction add = transaction.add(R.id.framelayout, fragment01,"fragmenta");
        FragmentTransaction add1 = transaction.add(R.id.framelayout, fragment02);
        FragmentTransaction add2 = transaction.add(R.id.framelayout, fragment03);
        transaction.show(fragment01).hide(fragment02).hide(fragment03);
        transaction.commit();

        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

        drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
            @Override
            public void onDrawerSlide(@NonNull View view, float v) {

            }

            @Override
            public void onDrawerOpened(@NonNull View view) {
                Toast.makeText(LoginActivity.this,"侧拉已被打开",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onDrawerClosed(@NonNull View view) {
                Toast.makeText(LoginActivity.this,"侧拉已被关闭",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onDrawerStateChanged(int i) {

            }
        });

    }
    public void supper(Fragment fragment) {

        getSupportFragmentManager().beginTransaction().replace(R.id.framelayout, fragment01,"fragmenta").commit();

    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Fragment fragmenta = getSupportFragmentManager().findFragmentByTag("fragmenta");
        fragmenta.onActivityResult(requestCode, resultCode, data);
    }
}
 

猜你喜欢

转载自blog.csdn.net/weixin_43738523/article/details/86306612