Browse Source

Merge branch 'draft' of https://gitlab.com/Arisono/SkWeiChat-Baidu into draft

# Conflicts:
#	app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/DetailTaskActivity.java
Bitliker 8 years ago
parent
commit
2425a9395b

+ 14 - 3
app_core/common/src/main/java/com/common/ui/ViewUtils.java

@@ -1,5 +1,7 @@
 package com.common.ui;
 
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
 import android.text.style.ForegroundColorSpan;
@@ -16,12 +18,13 @@ import java.util.regex.Pattern;
 public class ViewUtils {
     /**
      * android 动态设置控件长度宽度
-     * @param view  控件对象
+     *
+     * @param view   控件对象
      * @param width
      * @param height
      */
-    public static void setLayoutHandW(View view, int width, int height){
-        LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) view.getLayoutParams();
+    public static void setLayoutHandW(View view, int width, int height) {
+        LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) view.getLayoutParams();
         linearParams.width = width;
         linearParams.height = height;
         view.setLayoutParams(linearParams);
@@ -47,4 +50,12 @@ public class ViewUtils {
         }
         view.setText(style);
     }
+
+
+    public static void moveRecyclerView2Postion(RecyclerView recyclerView, int postion) {
+        if (recyclerView != null && recyclerView.getLayoutManager() != null && recyclerView.getLayoutManager() instanceof LinearLayoutManager) {
+            ((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(postion, 0);
+            ((LinearLayoutManager) recyclerView.getLayoutManager()).setStackFromEnd(true);
+        }
+    }
 }

+ 9 - 5
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/UUHelperActivity.java

@@ -13,6 +13,7 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 
+import com.common.ui.ViewUtils;
 import com.core.app.AppConstant;
 import com.core.app.Constants;
 import com.core.base.BaseActivity;
@@ -40,14 +41,14 @@ public class UUHelperActivity extends BaseActivity implements View.OnClickListen
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_uuhelper,menu);
+        getMenuInflater().inflate(R.menu.menu_uuhelper, menu);
         return super.onCreateOptionsMenu(menu);
     }
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId()==R.id.menuMe){
-            startActivity(new Intent(ct,UUHelperDetailsActivity.class));
+        if (item.getItemId() == R.id.menuMe) {
+            startActivity(new Intent(ct, UUHelperDetailsActivity.class));
         }
         return super.onOptionsItemSelected(item);
     }
@@ -71,10 +72,12 @@ public class UUHelperActivity extends BaseActivity implements View.OnClickListen
     private void initView() {
         contentRV = (RecyclerView) findViewById(R.id.contentRV);
         contentRV.setItemAnimator(new DefaultItemAnimator());
-        contentRV.setLayoutManager(new LinearLayoutManager(ct));
+        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(ct);
+        contentRV.setLayoutManager(linearLayoutManager);
         findViewById(R.id.successfulTV).setOnClickListener(this);
         findViewById(R.id.experienceTV).setOnClickListener(this);
         findViewById(R.id.serviceTV).setOnClickListener(this);
+
     }
 
     private void initData() {
@@ -112,9 +115,10 @@ public class UUHelperActivity extends BaseActivity implements View.OnClickListen
             mAdapter.setModels(models);
             mAdapter.notifyDataSetChanged();
         }
-        contentRV.scrollToPosition(models.size() - 1);
+        ViewUtils.moveRecyclerView2Postion(contentRV, models.size());
     }
 
+
     @Override
     public void onClick(View v) {
         int id = v.getId();

+ 12 - 1
app_modular/appmessages/src/main/java/com/modular/appmessages/adapter/UUHelperAdapter.java

@@ -77,7 +77,18 @@ public class UUHelperAdapter extends RecyclerView.Adapter<UUHelperAdapter.ViewHo
     public void onBindViewHolder(ViewHolder holder, int position) {
         UUHelperModel model = models.get(position);
         holder.timeTV.setText(model.getDate());
-        holder.itemRV.setAdapter(new ItemAdapter(model.getItems()));
+        ItemAdapter itemAdapter = null;
+        if (holder.itemRV.getAdapter() != null && holder.itemRV.getAdapter() instanceof ItemAdapter) {
+            itemAdapter = (ItemAdapter) holder.itemRV.getAdapter();
+            itemAdapter.setItems(model.getItems());
+            itemAdapter.notifyDataSetChanged();
+        } else {
+            itemAdapter = new ItemAdapter(model.getItems());
+            holder.itemRV.setAdapter(itemAdapter);
+        }
+//        if (position == getItemCount() - 1) {
+//            ViewUtils.moveRecyclerView2Postion(holder.itemRV, ListUtils.getSize(model.getItems()));
+//        }
     }
 
     @Override