|
|
@@ -4,6 +4,7 @@ package com.uas.module.girls;
|
|
|
import android.os.Bundle;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
+import android.support.v7.widget.Toolbar;
|
|
|
import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
@@ -11,14 +12,17 @@ import android.view.ViewGroup;
|
|
|
import android.widget.TextView;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
+import com.alibaba.android.arouter.launcher.ARouter;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.blankj.utilcode.util.SPUtils;
|
|
|
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
|
|
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
|
|
|
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
|
|
|
-import com.uas.module.common.base.fragment.EasyFragment;
|
|
|
+import com.uas.module.common.base.fragment.BaseToolBarFragment;
|
|
|
import com.uas.module.common.model.MessageConfigBean;
|
|
|
import com.uas.module.common.utils.Constants;
|
|
|
+import com.uas.module.common.utils.ToastUtils;
|
|
|
+import com.uas.module.common.utils.listener.OnItemClickListener;
|
|
|
import com.uas.module.common.widget.LinearItemDecoration;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -28,7 +32,7 @@ import q.rorbin.badgeview.Badge;
|
|
|
import q.rorbin.badgeview.QBadgeView;
|
|
|
|
|
|
|
|
|
-public class MessageFragment extends EasyFragment {
|
|
|
+public class MessageFragment extends BaseToolBarFragment implements OnItemClickListener {
|
|
|
|
|
|
RecyclerView mListMessage;
|
|
|
|
|
|
@@ -51,13 +55,20 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
|
|
|
public void initView(){
|
|
|
+ Toolbar toolbar = getCommonToolBar();
|
|
|
+ if (toolbar != null) {
|
|
|
+ toolbar.setBackgroundResource(R.drawable.common_toolbar_message_bg);
|
|
|
+ }
|
|
|
+ setTitle(R.string.title_message);
|
|
|
mListMessage= findViewById(R.id.rv_message_list);
|
|
|
mListMessage.setLayoutManager(new LinearLayoutManager(ct));
|
|
|
mListMessage.addItemDecoration(new LinearItemDecoration(ct));
|
|
|
String messageList= SPUtils.getInstance(Constants.spName).getString("messageList");
|
|
|
List<MessageConfigBean> datas= JSON.parseArray(messageList,MessageConfigBean.class);
|
|
|
-
|
|
|
- mListMessage.setAdapter(new RecyclerAdapter(datas));
|
|
|
+ RecyclerAdapter adapter= new RecyclerAdapter(datas);
|
|
|
+ adapter.setOnItemClickListener(this);
|
|
|
+ mListMessage.setAdapter(adapter);
|
|
|
+
|
|
|
|
|
|
|
|
|
RefreshLayout refreshLayout = findViewById(R.id.refreshLayout);
|
|
|
@@ -75,6 +86,27 @@ public class MessageFragment extends EasyFragment {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onItemClick(View view) {
|
|
|
+ RecyclerAdapter.Holder holder= (RecyclerAdapter.Holder) view.getTag();
|
|
|
+ if (holder.bean.getViewTypeValue()==1){
|
|
|
+ String url=holder.bean.getWebUrl();
|
|
|
+ ARouter.getInstance().build("/widget/web")
|
|
|
+ .withString("url",url)
|
|
|
+ .withString("title",holder.bean.getName())
|
|
|
+ .navigation();
|
|
|
+ }else{
|
|
|
+ ToastUtils.showLongToast("原生组件:"+holder.bean.getAndroidWidget());
|
|
|
+ ARouter.getInstance().build(holder.bean.getAndroidWidget())
|
|
|
+ .navigation();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onItemLongClick(View view) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.Holder> {
|
|
|
private List<MessageConfigBean> data;
|
|
|
@@ -85,8 +117,24 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
@Override
|
|
|
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
|
- return new Holder(LayoutInflater.from(getActivity())
|
|
|
+ Holder viewHolder= new Holder(LayoutInflater.from(getActivity())
|
|
|
.inflate(R.layout.item_message, parent, false));
|
|
|
+ viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if (mOnItemClickListener!=null)
|
|
|
+ mOnItemClickListener.onItemClick(v);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
+ @Override
|
|
|
+ public boolean onLongClick(View v) {
|
|
|
+ if (mOnItemClickListener!=null)
|
|
|
+ mOnItemClickListener.onItemLongClick(v);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return viewHolder;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -94,6 +142,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
MessageConfigBean bean=data.get(position);
|
|
|
holder.titleTv.setText(bean.getName());
|
|
|
holder.bean=bean;
|
|
|
+ holder.itemView.setTag(holder);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -115,8 +164,8 @@ public class MessageFragment extends EasyFragment {
|
|
|
headerSubTv= itemView.findViewById(R.id.headerSubTv);
|
|
|
badge = new QBadgeView(getActivity()).bindTarget(itemView.findViewById(R.id.headerImg));
|
|
|
badge.setBadgeGravity(Gravity.TOP | Gravity.END);
|
|
|
- badge.setBadgeTextSize(9, true);
|
|
|
- badge.setBadgePadding(2, true);
|
|
|
+ badge.setBadgeTextSize(11, true);
|
|
|
+ badge.setBadgePadding(4, true);
|
|
|
badge.setOnDragStateChangedListener(new Badge.OnDragStateChangedListener() {
|
|
|
@Override
|
|
|
public void onDragStateChanged(int dragState, Badge badge, View targetView) {
|
|
|
@@ -127,6 +176,11 @@ public class MessageFragment extends EasyFragment {
|
|
|
}).setBadgeNumber(1);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private OnItemClickListener mOnItemClickListener;
|
|
|
+ public void setOnItemClickListener(OnItemClickListener listener) {
|
|
|
+ mOnItemClickListener = listener;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|