APP的 build
implementation ‘com.github.andyoom:draggrid:v1.0.1’
总项目的build
maven{
url “https://jitpack.io”
}
清单文件的权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
activity需要注册
<activity android:name="com.andy.library.ChannelActivity"> </activity>
需要跳转的控件点击直接跳转
List<ChannelBean> lili=new ArrayList<>();
for (int i=0;i<10;i++){
ChannelBean channelBean = new ChannelBean("item-" + i, i < 5 ? true : false);
lili.add(channelBean);
}
ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(),lili);
之后需要回值 Fragment 给activity 值 需要接口回调 找到Fragment对应的activity页面 定义 onactivityResult 与自定义接口
//定义接口回调接口和方法
public interface OnJsonDataListener {
//抽象方法
void onJsonData(String json);
}
//声明接口
private OnJsonDataListener listener;
//提供公共的设置监听的方法
public void setOnJsonDataListener(OnJsonDataListener listener) {
this.listener = listener;
}
onactivityResult
String json = data.getStringExtra("json");
if (listener != null) {
listener.onJsonData(json);
}
在Fragment页面 直接找到定义接口的activity页面
activity = (MainActivity) getActivity();
从新写生命周期方法
onResume()
通过activity直接找到定义的接口 然后方法
之后使用原生解析数据添加到自定义的集合
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String isSelect = jsonObject.getString("isSelect");
if (isSelect.equals("true")) {
String name = jsonObject.getString("name");
list.add(name);
之后再走一遍viewpage的适配器即可
getActivity().getSupportFragmentManager()
getChildFragmentManager()
简单版的 直接到包
final ArrayList tabData = DBUtil.getTabData(MainActivity.this);
extends ChannelApplication
ChannelActivity.class