Android 未将我的数据设置在子位置,因为子数组不可用
此getItemViewType()为 之后,按类型设置视图支架,但不显示数据。我使用了一个arraylist,但我想使用两个arraylist来定位第一个父位置和第二个chhailed位置Android 未将我的数据设置在子位置,因为子数组不可用,android,Android,此getItemViewType()为 之后,按类型设置视图支架,但不显示数据。我使用了一个arraylist,但我想使用两个arraylist来定位第一个父位置和第二个chhailed位置 public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) { object = _arr_GameList.get(position); if (object != nu
public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {
object = _arr_GameList.get(position);
if (object != null) {
if (object.isFirstComment()) {
setData(holder, position);
} else {
setData(holder, position);
}
}
}
之后,按类型设置视图支架,但不显示数据。我使用了一个arraylist,但我想使用两个arraylist来定位第一个父位置和第二个chhailed位置
private void ReplyCommentServiceCall(final MyViewHolder holder, int position, String comment_id, String comment_body) {
Call<ResponseBody> call;
call = LaravelRetrofite.addgetClient().AddreplyComment("Bearer " + preferencesUtility.getAccessToken(), "Application/json", article_id, comment_id, comment_body);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) {
try {
if (response.isSuccessful()) {
Log.v("Articalereplycomment", response.toString());
Log.v("replygetposition", "" + position);
boolean type = _arr_GameList.get(position).isFirstComment();
Log.v("layouttype", "" + type);
object = _arr_GameList.get(position);
ArticleCommentsModel articleCommentsModel = _arr_GameList.get(position + 1);
articleCommentsModel.setComment_body(comment_body);
articleCommentsModel.setDeleteCommentOption("1");
articleCommentsModel.setFirstComment(false);
_arr_GameList.add(articleCommentsModel);
setData(holder, position + 1);
notifyDataSetChanged();
} else {
// error case
switch (response.code()) {
case 404:
NetworkUtility.ToastFunction(mActivity, "not found");
break;
case 500:
NetworkUtility.ToastFunction(mActivity, "server broken");
break;
default:
NetworkUtility.ToastFunction(mActivity, "unknown error");
break;
}
}
} catch (Exception e) {
String message = e.getMessage().replace("java.lang.Throwable: ", "");
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.v("Upload", t.getMessage());
String message = t.getMessage().replace("java.lang.Throwable: ", "");
}
});
}
private void ReplyCommentServiceCall(最终MyViewHolder持有者,int位置,字符串注释\u id,字符串注释\u正文){
呼叫呼叫;
call=LaravelRetrofite.addgetClient().AddreplyComment(“承载者”+首选项.getAccessToken(),“应用程序/json”,文章id,评论id,评论正文);
call.enqueue(新回调(){
@凌驾
公共void onResponse(呼叫,改装2.响应){
试一试{
if(response.issusccessful()){
Log.v(“articalReplyComment”,response.toString());
Log.v(“replygetposition”和“+position”);
布尔类型=_arr_GameList.get(position.isFirstComment();
Log.v(“layouttype”,即“+”类型);
object=\u arr\u GameList.get(位置);
ArticleCommentsModel ArticleCommentsModel=\u arr\u GameList.get(位置+1);
articleCommentsModel.setComment\u正文(comment\u正文);
articleCommentsModel.setDeleteCommentOption(“1”);
articleCommentsModel.setFirstComment(假);
_arr_GameList.add(articleCommentsModel);
设置数据(保持架,位置+1);
notifyDataSetChanged();
}否则{
//错误案例
开关(response.code()){
案例404:
NetworkUtility.toast函数(mActivity,“未找到”);
打破
案例500:
NetworkUtility.ToastFunction(mActivity,“服务器损坏”);
打破
违约:
NetworkUtility.toast函数(mActivity,“未知错误”);
打破
}
}
}捕获(例外e){
String message=e.getMessage().replace(“java.lang.Throwable:,”);
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.v(“Upload”,t.getMessage());
String message=t.getMessage().replace(“java.lang.Throwable:,”);
}
});
}
您确定方法正确吗
现在看来这是没有用的。
两种情况都是一样的
if (object.isFirstComment()) {
setData(holder, position);
} else {
setData(holder, position);
}
这是同样的方法,为什么你有一个if?
if (object.isFirstComment()) {
setData(holder, position);
} else {
setData(holder, position);
}