Skip to content

Commit

Permalink
fix bug
Browse files Browse the repository at this point in the history
  • Loading branch information
jdsjlzx committed Sep 20, 2016
1 parent 2ab0df0 commit eb93419
Show file tree
Hide file tree
Showing 18 changed files with 1,014 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -363,10 +363,6 @@ public void onScrollStateChanged(int state) {
super.onScrollStateChanged(state);
currentScrollState = state;

if (mWrapAdapter != null) {
mWrapAdapter.setScrollState(state);
}

if (mLScrollListener != null) {
mLScrollListener.onScrollStateChanged(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ public class LRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.View
private ArrowRefreshHeader mRefreshHeader;

private OnItemClickListener mOnItemClickListener;
/**
* 当前滑动的状态
*/
private int mCurrentScrollState = RecyclerView.SCROLL_STATE_IDLE;

/**
* RecyclerView使用的,真正的Adapter
Expand Down Expand Up @@ -189,10 +185,6 @@ public boolean isFooter(int position) {
return getFooterViewsCount() > 0 && position >= lastPosition;
}

public void setScrollState(int state) {
mCurrentScrollState = state;
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

Expand All @@ -218,8 +210,7 @@ public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position)
if (adjPosition < adapterCount) {
mInnerAdapter.onBindViewHolder(holder, adjPosition);

if (mOnItemClickListener != null && (mCurrentScrollState == RecyclerView.SCROLL_STATE_IDLE
|| mCurrentScrollState == RecyclerView.SCROLL_STATE_SETTLING) ) {
if (mOnItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,10 +253,6 @@ public void onScrollStateChanged(int state) {
super.onScrollStateChanged(state);
currentScrollState = state;

if (mWrapAdapter != null) {
mWrapAdapter.setScrollState(state);
}

if (mLScrollListener != null) {
mLScrollListener.onScrollStateChanged(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ public class LuRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.Vie


private OnItemClickListener mOnItemClickListener;
/**
* 当前滑动的状态
*/
private int mCurrentScrollState = RecyclerView.SCROLL_STATE_IDLE;

/**
* RecyclerView使用的,真正的Adapter
Expand Down Expand Up @@ -178,10 +174,6 @@ public boolean isFooter(int position) {
return getFooterViewsCount() > 0 && position == lastPosition;
}

public void setScrollState(int state) {
mCurrentScrollState = state;
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

Expand All @@ -205,8 +197,7 @@ public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position)
if (adjPosition < adapterCount) {
mInnerAdapter.onBindViewHolder(holder, adjPosition);

if (mOnItemClickListener != null && (mCurrentScrollState == RecyclerView.SCROLL_STATE_IDLE
|| mCurrentScrollState == RecyclerView.SCROLL_STATE_SETTLING) ) {
if (mOnItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
Expand Down
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<activity android:name=".ui.SectionAnimalActivity" />
<activity android:name=".ui.CollapsingToolbarLayoutActivity" />
<activity android:name=".ui.SwipeRefreshLayoutActivity" />
<activity android:name=".ui.ExpandableRecyclerViewOneActivity" />
</application>

</manifest>
139 changes: 139 additions & 0 deletions app/src/main/java/com/lzx/demo/adapter/CommentExpandAdapter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
package com.lzx.demo.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.lzx.demo.R;

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

public class CommentExpandAdapter extends ExpandableRecyclerAdapter<CommentExpandAdapter.CommentItem> {
public static final int TYPE_PERSON = 1001;

public CommentExpandAdapter(Context context) {
super(context);

setItems(getSampleItems());
}

public static class CommentItem extends ExpandableRecyclerAdapter.ListItem {
public String Text;

public CommentItem(String group) {
super(TYPE_HEADER);
Text = group;
}

public CommentItem(String first, String last) {
super(TYPE_PERSON);
Text = first + " " + last;
}
}

public class CommentViewHolder extends ExpandableRecyclerAdapter.HeaderViewHolder {
TextView tvName, tvComment, tvTime, tvReply;
ImageView imgAvatar;


public CommentViewHolder(View view) {
super(view, (ImageView) view.findViewById(R.id.item_arrow));

tvName = (TextView) view.findViewById(R.id.tvname);
tvComment = (TextView) view.findViewById(R.id.tvComment);
tvTime = (TextView) view.findViewById(R.id.tvTime);
tvReply = (TextView) view.findViewById(R.id.tvReply);
imgAvatar = (ImageView) view.findViewById(R.id.avatacomment);
}

public void bind(int position) {
super.bind(position);

tvName.setText(visibleItems.get(position).Text);
}
}

public class CommentChildViewHolder extends ExpandableRecyclerAdapter.ViewHolder {
TextView tvName, tvComment, tvTime;
ImageView imgAvatar;
public CommentChildViewHolder(View view) {
super(view);
tvName = (TextView) view.findViewById(R.id.tvname);
tvComment = (TextView) view.findViewById(R.id.tvComment);
tvTime = (TextView) view.findViewById(R.id.tvTime);
imgAvatar = (ImageView) view.findViewById(R.id.avatacomment);
}

public void bind(int position) {
tvComment.setText(visibleItems.get(position).Text);
}
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case TYPE_HEADER:
return new CommentViewHolder(inflate(R.layout.item_comment, parent));
case TYPE_PERSON:
default:
return new CommentChildViewHolder(inflate(R.layout.item_child_comment, parent));
}
}

@Override
public void onBindViewHolder(ExpandableRecyclerAdapter.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case TYPE_HEADER:
((CommentViewHolder) holder).bind(position);
break;
case TYPE_PERSON:
default:
((CommentChildViewHolder) holder).bind(position);
break;
}
}

public List<CommentItem> getSampleItems() {
List<CommentItem> items = new ArrayList<>();

items.add(new CommentItem("Friends"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Smith"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Doe"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Hall"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "West"));
items.add(new CommentItem("Family"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Smith"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Doe"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Hall"));
items.add(new CommentItem("Associates"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Jones"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Smith"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Hall"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Lake"));
items.add(new CommentItem("Colleagues"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Jones"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Smith"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Hall"));
items.add(new CommentItem("Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó \n" +
"(open for extension but closed for modification)", "Lake"));

return items;
}
}
Loading

0 comments on commit eb93419

Please sign in to comment.