封装

来源:互联网 发布:华为mate8手机壳淘宝 编辑:程序博客网 时间:2024/06/06 12:53

BaseActivity

//////////////////////////////////////////////////////////////////////////////////////////////////////////

package animtest.com.example.e531.fengzhuang_demo;

import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

/**
 * Created by e531 on 2017/10/17.
 */
public abstract class BaseActivity extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

//注意  上面和下面的参数只能有一个

        super.onCreate(savedInstanceState);
        Log.d("zzz","base:onCreate");
        //设置内容视图
        setContentView(getLayout());

        initView();

        setListener();

        initData();

    }

    //获取布局的id
    public  abstract int getLayout();

    //查找页面上所有的组件
    public abstract void initView();

    //设置监听事件
    public abstract void setListener();

    //初使化数据
    public abstract void initData();


    //弹出吐司提示
    public void getToast(String tip){
        Toast.makeText(BaseActivity.this, tip, Toast.LENGTH_SHORT).show();
    }
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

BaseFragment

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package animtest.com.example.e531.fengzhuang_demo;

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

/**
 * Created by e531 on 2017/10/17.
 */
public abstract class BaseFragment  extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return getFragmentLayout(inflater,container);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        initData();



    }

    //得到fragment的视图
    public abstract View getFragmentLayout(LayoutInflater inflater,ViewGroup container);

    //初使化数据
    public abstract void initData();

}

//////////////////////////////////////////////////////////////

BaseApplication

/////////////////////////////////////////////////////////////

package animtest.com.example.e531.fengzhuang_demo;

import android.app.Application;

/**
 * Created by e531 on 2017/10/17.
 */
public class BaseApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        //第三方组件的初使化

    }
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MainActivity

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package animtest.com.example.e531.fengzhuang_demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

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

public class MainActivity extends BaseActivity {


    private TextView textView;
    private List<String>  datas;

    //返回此activity对应的布局
    @Override
    public int getLayout() {
        return R.layout.activity_main;
    }

    @Override
    public void initView() {
        //一般写 findviewbyid的代码
        textView = (TextView) findViewById(R.id.tv);


    }

    @Override
    public void setListener() {

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //调用父类的方法
                getToast("haha");

            }
        });

    }

    @Override
    public void initData() {

        datas=new ArrayList<>();
        datas.add("1111");

        //请求网络下载数据

        //动态添加fragment
        getSupportFragmentManager().beginTransaction().replace(R.id.lin,new NewsFragment()).commit();


    }
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////

NewsFragment

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

package animtest.com.example.e531.fengzhuang_demo;

import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Created by e531 on 2017/10/17.
 */
public class NewsFragment extends BaseFragment {
    //返回当前fragmetn对应的视图
    @Override
    public View getFragmentLayout(LayoutInflater inflater, ViewGroup container) {
        return inflater.inflate(R.layout.item,container,false);
    }

    @Override
    public void initData() {
        Log.d("zzz","newsfragment:initData");


    }
}


原创粉丝点击