问题详情/问题详情-邀请页面/问题详情-回答编辑页面
This commit is contained in:
@ -0,0 +1,31 @@
|
||||
package com.gh.gamecenter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.gamecenter.questionsdetail.AnswerEditFragment;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class AskQuestionsDetailActivity extends BaseActivity {
|
||||
|
||||
public static Intent getIntent(Context context) {
|
||||
return new Intent(context, AskQuestionsDetailActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_ask_questionsdetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
getSupportFragmentManager().beginTransaction().replace(
|
||||
R.id.layout_fragment_content, new AnswerEditFragment()).commitAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,7 @@ package com.gh.gamecenter.ask;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import com.gh.gamecenter.AskQuestionsDetailActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.baselist.BaseListAdapter;
|
||||
import com.gh.gamecenter.baselist.ListFragment;
|
||||
@ -43,7 +44,7 @@ public class AskHotFragment extends ListFragment {
|
||||
}
|
||||
break;
|
||||
case R.id.ask_item_constraintlayout:
|
||||
// todo
|
||||
startActivity(AskQuestionsDetailActivity.getIntent(getContext()));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@ -60,6 +60,8 @@ public abstract class ListFragment<T> extends BaseFragment implements
|
||||
mListViewModel = ViewModelProviders.of(this, factory).get(ListViewModel.class);
|
||||
mListViewModel.getObsListData().observe(this, this);
|
||||
mListViewModel.load(LoadType.nomarl);
|
||||
|
||||
mListRv.addItemDecoration(new VerticalItemDecoration(getContext(), 8, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,7 +71,6 @@ public abstract class ListFragment<T> extends BaseFragment implements
|
||||
mLayoutManager = new LinearLayoutManager(getContext());
|
||||
mListRv.setLayoutManager(mLayoutManager);
|
||||
mListRv.setAdapter(provideListAdapter());
|
||||
mListRv.addItemDecoration(new VerticalItemDecoration(getContext(), 8, true));
|
||||
mListRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
||||
|
||||
@ -0,0 +1,152 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.MediaStore;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.text.Editable;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.style.ImageSpan;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gh.base.fragment.BaseFragment;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.lightgame.utils.Utils;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
|
||||
import static com.gh.gamecenter.SelectUserIconActivity.MEDIA_ICON_REQUEST;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class AnswerEditFragment extends BaseFragment {
|
||||
@BindView(R.id.answer_edit_title)
|
||||
TextView mTitle;
|
||||
@BindView(R.id.answer_edit_content)
|
||||
EditText mEditContent;
|
||||
@BindView(R.id.answer_edit_img_icon)
|
||||
ImageView mImgIcon;
|
||||
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (data != null && requestCode == MEDIA_ICON_REQUEST) {
|
||||
Uri selectedImage = data.getData();
|
||||
if (selectedImage == null || getActivity() == null) {
|
||||
return;
|
||||
}
|
||||
String[] filePathColumn = {MediaStore.Images.Media.DATA};
|
||||
|
||||
Cursor cursor = getActivity().getContentResolver().query(selectedImage, filePathColumn, null, null, null);
|
||||
if (cursor == null) {
|
||||
return;
|
||||
}
|
||||
cursor.moveToFirst();
|
||||
|
||||
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
|
||||
String picturePath = cursor.getString(columnIndex);
|
||||
cursor.close();
|
||||
|
||||
Bitmap bitmap = compressPicture(picturePath);
|
||||
|
||||
insertPicToEt(bitmap); // todo 插入图片前应该向服务器提交图片
|
||||
|
||||
Utils.log("picturePath = " + picturePath);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.fragment_answer_edit;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
/**
|
||||
* 压缩图片
|
||||
* 规则:
|
||||
* 1.如果图片大于当前EditText的最大宽度则按比例缩放,使图片宽度和EditText的宽度保持一致 (高度不处理)
|
||||
* 2.如果图片小于当前EditText 由于比例限制 将不处理
|
||||
* @param srcPath 图片路径
|
||||
* @return
|
||||
*/
|
||||
public Bitmap compressPicture(String srcPath) {
|
||||
|
||||
FileOutputStream fos = null;
|
||||
BitmapFactory.Options op = new BitmapFactory.Options();
|
||||
|
||||
// 开始读入图片,此时把options.inJustDecodeBounds 设回true了
|
||||
op.inJustDecodeBounds = true;
|
||||
Bitmap bitmap = BitmapFactory.decodeFile(srcPath, op);
|
||||
op.inJustDecodeBounds = false;
|
||||
|
||||
// 缩放图片的尺寸
|
||||
float w = op.outWidth;
|
||||
float h = op.outHeight;
|
||||
float index = w/h;
|
||||
int width = mEditContent.getWidth();
|
||||
float hh = width/index;
|
||||
float ww = width;
|
||||
|
||||
float be = 1.0f;
|
||||
if (w > h && w > ww) {
|
||||
be = (float) (w / ww);
|
||||
} else if (w < h && h > hh) {
|
||||
be = (float) (h / hh);
|
||||
}
|
||||
if (be <= 0) {
|
||||
be = 1.0f;
|
||||
}
|
||||
op.inSampleSize = (int) be;// 设置缩放比例,这个数字越大,图片大小越小.
|
||||
// 重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了
|
||||
bitmap = BitmapFactory.decodeFile(srcPath, op);
|
||||
int desWidth = (int) (w / be);
|
||||
int desHeight = (int) (h / be);
|
||||
return Bitmap.createScaledBitmap(bitmap, desWidth, desHeight, true);
|
||||
|
||||
}
|
||||
|
||||
@OnClick(R.id.answer_edit_img_icon)
|
||||
public void onClick(View view) {
|
||||
if (view.getId() == R.id.answer_edit_img_icon) {
|
||||
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
|
||||
startActivityForResult(intent, MEDIA_ICON_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
private void insertPicToEt(Bitmap bitmap) {
|
||||
if (bitmap == null) return;
|
||||
ImageSpan imageSpan = new ImageSpan(getContext(), bitmap);
|
||||
int index = mEditContent.getSelectionStart();
|
||||
String tempUrl = "<img src=\"" + "dasdasdasdasddasd" + "\" />";
|
||||
SpannableString spannableString = new SpannableString(tempUrl);
|
||||
spannableString.setSpan(imageSpan, 0, tempUrl.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
Editable editableText = mEditContent.getEditableText();
|
||||
if (index < 0 || index >= editableText.length()) {
|
||||
editableText.append(spannableString);
|
||||
} else {
|
||||
editableText.insert(index, spannableString);
|
||||
}
|
||||
|
||||
Utils.log("insertPicToEt = ");
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,102 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gh.base.OnListClickListener;
|
||||
import com.gh.common.constant.ItemViewType;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder;
|
||||
import com.gh.gamecenter.ask.AskItemViewHolder;
|
||||
import com.lightgame.adapter.BaseRecyclerAdapter;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsDetailAdapter extends BaseRecyclerAdapter {
|
||||
|
||||
private OnListClickListener mListClickListener;
|
||||
|
||||
public QuestionsDetailAdapter(Context context, OnListClickListener listClickListener) {
|
||||
super(context);
|
||||
mListClickListener = listClickListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
if (position == 0) {
|
||||
return ItemViewType.ITEM_TOP;
|
||||
} else if (position == getItemCount() - 1) {
|
||||
return ItemViewType.ITEM_FOOTER;
|
||||
} else {
|
||||
return ItemViewType.ITEM_BODY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view;
|
||||
switch (viewType) {
|
||||
case ItemViewType.ITEM_TOP:
|
||||
view = mLayoutInflater.inflate(R.layout.questionsdetail_item, parent, false);
|
||||
return new QuestionsDetailItemViewHolder(view, null, mListClickListener);
|
||||
case ItemViewType.ITEM_FOOTER:
|
||||
view = mLayoutInflater.inflate(R.layout.questionsdetail_footer_item, parent, false);
|
||||
return new ReuseViewHolder(view);
|
||||
case ItemViewType.ITEM_BODY:
|
||||
view = mLayoutInflater.inflate(R.layout.ask_hot_item, parent, false);
|
||||
return new AskItemViewHolder(view, null, mListClickListener);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
switch (getItemViewType(position)) {
|
||||
case ItemViewType.ITEM_TOP:
|
||||
initQuestionsDetailItemViewHolder((QuestionsDetailItemViewHolder) holder);
|
||||
break;
|
||||
case ItemViewType.ITEM_FOOTER:
|
||||
break;
|
||||
case ItemViewType.ITEM_BODY:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void initQuestionsDetailItemViewHolder(QuestionsDetailItemViewHolder holder) {
|
||||
|
||||
holder.mTagRv.setLayoutManager(new LinearLayoutManager(mContext, RecyclerView.HORIZONTAL, false));
|
||||
holder.mTagRv.setAdapter(new RecyclerView.Adapter() {
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view = mLayoutInflater.inflate(R.layout.questionsdetail_tag_item, parent, false);
|
||||
return new ReuseViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
View item = holder.itemView;
|
||||
if (item instanceof TextView) {
|
||||
TextView tag = (TextView) item;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.gh.base.fragment.BaseFragment;
|
||||
import com.gh.gamecenter.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsDetailFragment extends BaseFragment {
|
||||
|
||||
@BindView(R.id.questionsdetail_rv)
|
||||
RecyclerView mRecyclerView;
|
||||
@BindView(R.id.questionsdetail_answer)
|
||||
RelativeLayout mAnswer;
|
||||
@BindView(R.id.questionsdetail_invite)
|
||||
RelativeLayout mInvite;
|
||||
|
||||
QuestionsDetailAdapter mAdapter;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.fragment_questionsdetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mAdapter = new QuestionsDetailAdapter(getContext(), this);
|
||||
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
mRecyclerView.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@OnClick({R.id.questionsdetail_answer, R.id.questionsdetail_invite})
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.questionsdetail_answer:
|
||||
break;
|
||||
case R.id.questionsdetail_invite:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.base.BaseRecyclerViewHolder;
|
||||
import com.gh.base.OnListClickListener;
|
||||
import com.gh.gamecenter.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsDetailItemViewHolder extends BaseRecyclerViewHolder {
|
||||
@BindView(R.id.questionsdetail_item_tagrv)
|
||||
public RecyclerView mTagRv;
|
||||
@BindView(R.id.questionsdetail_item_title)
|
||||
public TextView mTitle;
|
||||
@BindView(R.id.questionsdetail_item_des)
|
||||
public TextView mDes;
|
||||
@BindView(R.id.questionsdetail_item_pic1)
|
||||
public SimpleDraweeView mPic1;
|
||||
@BindView(R.id.questionsdetail_item_pic2)
|
||||
public SimpleDraweeView mPic2;
|
||||
@BindView(R.id.questionsdetail_item_pic3)
|
||||
public SimpleDraweeView mPic3;
|
||||
@BindView(R.id.questionsdetail_item_answercount)
|
||||
public TextView mAnswercount;
|
||||
@BindView(R.id.questionsdetail_item_concern)
|
||||
public TextView mConcern;
|
||||
|
||||
public QuestionsDetailItemViewHolder(View itemView, Object data, OnListClickListener listClickListener) {
|
||||
super(itemView, data, listClickListener);
|
||||
itemView.setOnClickListener(this);
|
||||
mConcern.setOnClickListener(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,85 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.gh.base.OnListClickListener;
|
||||
import com.gh.common.constant.ItemViewType;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
|
||||
import com.gh.gamecenter.baselist.BaseListAdapter;
|
||||
import com.gh.gamecenter.baselist.LoadStatus;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsInviteAdapter extends BaseListAdapter {
|
||||
|
||||
private OnListClickListener mListClickListener;
|
||||
|
||||
public QuestionsInviteAdapter(Context context, OnListClickListener listClickListener) {
|
||||
super(context);
|
||||
mListClickListener = listClickListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <T> void provideListData(List<T> listData) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadChange(LoadStatus status) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
if (position == 0) {
|
||||
return ItemViewType.ITEM_TOP;
|
||||
} else if (position == getItemCount() - 1) {
|
||||
return ItemViewType.ITEM_FOOTER;
|
||||
} else {
|
||||
return ItemViewType.ITEM_BODY;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View view;
|
||||
switch (viewType) {
|
||||
case ItemViewType.ITEM_TOP:
|
||||
view = mLayoutInflater.inflate(R.layout.questionsinvite_top_item, parent, false);
|
||||
return new QuestionsInviteTopItemViewHolder(view, null, mListClickListener);
|
||||
case ItemViewType.ITEM_FOOTER:
|
||||
view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false);
|
||||
return new FooterViewHolder(view, null, mListClickListener);
|
||||
case ItemViewType.ITEM_BODY:
|
||||
view = mLayoutInflater.inflate(R.layout.questionsinvite_item, parent, false);
|
||||
return new QuestionsInviteItemViewHolder(view, null, mListClickListener);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
switch (getItemViewType(position)) {
|
||||
case ItemViewType.ITEM_TOP:
|
||||
break;
|
||||
case ItemViewType.ITEM_FOOTER:
|
||||
break;
|
||||
case ItemViewType.ITEM_BODY:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import com.gh.gamecenter.baselist.BaseListAdapter;
|
||||
import com.gh.gamecenter.baselist.ListFragment;
|
||||
import com.gh.gamecenter.entity.NewsEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import rx.Observable;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsInviteFragment extends ListFragment {
|
||||
|
||||
private QuestionsInviteAdapter mAdapter;
|
||||
|
||||
@Override
|
||||
public Observable<List<NewsEntity>> provideDataObservable() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BaseListAdapter provideListAdapter() {
|
||||
return mAdapter == null ? mAdapter = new QuestionsInviteAdapter(getContext(), this) : mAdapter;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.base.BaseRecyclerViewHolder;
|
||||
import com.gh.base.OnListClickListener;
|
||||
import com.gh.gamecenter.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsInviteItemViewHolder extends BaseRecyclerViewHolder {
|
||||
@BindView(R.id.questionsinvite_item_icon)
|
||||
public SimpleDraweeView mIcon;
|
||||
@BindView(R.id.questionsinvite_item_name)
|
||||
public TextView mName;
|
||||
@BindView(R.id.questionsinvite_item_answercount)
|
||||
public TextView mAnswercount;
|
||||
@BindView(R.id.questionsinvite_item_votecount)
|
||||
public TextView mVotecount;
|
||||
@BindView(R.id.questionsinvite_item_invite)
|
||||
public TextView mInvite;
|
||||
|
||||
public QuestionsInviteItemViewHolder(View itemView, Object data, OnListClickListener listClickListener) {
|
||||
super(itemView, data, listClickListener);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.gh.gamecenter.questionsdetail;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gh.base.BaseRecyclerViewHolder;
|
||||
import com.gh.base.OnListClickListener;
|
||||
import com.gh.gamecenter.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
||||
/**
|
||||
* Created by khy on 7/12/17.
|
||||
*/
|
||||
|
||||
public class QuestionsInviteTopItemViewHolder extends BaseRecyclerViewHolder {
|
||||
@BindView(R.id.questionsinvite_top_item_invite)
|
||||
public TextView mInvite;
|
||||
|
||||
public QuestionsInviteTopItemViewHolder(View itemView, Object data, OnListClickListener listClickListener) {
|
||||
super(itemView, data, listClickListener);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user