Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android studio,循环视图_Java_Android_Android Studio_Android Recyclerview - Fatal编程技术网

Java Android studio,循环视图

Java Android studio,循环视图,java,android,android-studio,android-recyclerview,Java,Android,Android Studio,Android Recyclerview,我在android studio中有一些错误。 当我尝试将符号(“*”)添加到特殊项时,它也会将符号添加到从第一个开始放置在+14中的项。 如果有人能解决这个问题,我会很高兴的。 有关更多信息,请查看此链接,我在其中描述了问题。 公共类RecycleServiceAdapter扩展了RecyclerView.Adapter{ 私有静态最终字符串TAG=“RecycleServiceAdapter”; 私人语境; 私有列表workDayItemList; //完整的 公共RecycleServi

我在android studio中有一些错误。 当我尝试将符号(“*”)添加到特殊项时,它也会将符号添加到从第一个开始放置在+14中的项。 如果有人能解决这个问题,我会很高兴的。 有关更多信息,请查看此链接,我在其中描述了问题。

公共类RecycleServiceAdapter扩展了RecyclerView.Adapter{
私有静态最终字符串TAG=“RecycleServiceAdapter”;
私人语境;
私有列表workDayItemList;
//完整的
公共RecycleServiceAdapter(上下文上下文,列表workDayItemList){
this.context=上下文;
this.workDayItemList=workDayItemList;
}
//完整的
//在这里,我们创建view-itemWorkday并通过layout-item\u one\u work\u day对其进行膨胀
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
查看itemWorkDay=LayoutInflater.from(parent.getContext()).flate(R.layout.item\u one\u work\u day,parent,false);
MyViewHolder MyViewHolder=新的MyViewHolder(itemWorkDay);
返回myViewHolder;
}
@凌驾
公共无效onBindViewHolder(最终MyViewHolder,内部位置){
Log.d(标记“onBindViewHolder:called。”+(位置+1)+“\n”+workDayItemList.get(位置).toString());
最终WorkDayItem WorkDayItem=workDayItemList.get(位置);
字符串dateStart=(字符串)DateFormat.format(“dd.MM”,workDayItem.getDateStart());
String timeStart=(String)DateFormat.format(“HH:mm”,workDayItem.getDateStart());
字符串timeEnd=(String)DateFormat.format(“HH:mm”,workDayItem.getDateEnd());
//将数据从firebase字符串格式转换为整数小时和分钟格式。
双重转换Firebase中的数据;
试一试{
convertingDataFromFirebase=Double.parseDouble(新的十进制格式(“###.####”)格式(workDayItem.getCount_hours());
}捕获(数字格式){
convertingDataFromFirebase=0.0;
}
int hours=convertingDataFromFirebase.intValue();
convertingDataFromFirebase=(convertingDataFromFirebase-convertingDataFromFirebase.intValue())*60;
int minutes=convertingDataFromFirebase.intValue();
//检查当前项目是否有描述
if(workDayItemList.get(position.getDesc().length()>2){
Log.i(标签“TESTER:desc dote added”);
holder.doteOfDesc.setVisibility(View.VISIBLE);
}
holder.dayPosition.setText((位置+1)+”);
holder.dateStart.setText(dateStart);
holder.timeStart.setText(timeStart);
holder.timeEnd.setText(timeEnd);
holder.countOfHours.setText(小时+“:”+分钟);
//单击“当前保持打开警报”对话框,并使用一些功能
holder.parentLayout.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
初始化Item(workDayItem,持有者)的ErtDialogForItem;
}
});
}
//初始化当前工作日的数据,并使用按钮更改信息
private void InitializeAllertDialogForItem(最终WorkDayItem WorkDayItem,最终MyViewHolder持有者){
//初始化警报对话框
final AlertDialog AlertDialog=新建AlertDialog.Builder(context.create();
View itemWork=LayoutInflater.from(上下文)
.充气(R.layout.ad_item_desc,空,假);
alertDialog.setView(itemWork);
alertDialog.show();
//初始化警报对话框按钮和视图
最终图像按钮更改=alertDialog.findViewById(R.id.itemAD_编辑);
最终图像按钮删除=alertDialog.findViewById(R.id.itemAD_delete);
TextView description=alertDialog.findViewById(R.id.ItemAddDescription);
TextView日期=alertDialog.findViewById(R.id.itemADDate);
TextView from=alertDialog.findViewById(R.id.itemADFrom);
TextView to=alertDialog.findViewById(R.id.itemADTO);
字符串timeStart=(字符串)(DateFormat.format(“HH:mm”,workDayItem.getDateStart());
字符串timeEnd=(字符串)(DateFormat.format(“HH:mm”,workDayItem.getDateEnd());
字符串dateStart=(字符串)(DateFormat.format(“dd.MM.yyyy”,workDayItem.getDateStart());
date.setText(dateStart);
from.setText(timeStart);
to.setText(timeEnd);
description.setText(workDayItem.getDesc());
//更改按钮
change.setOnClickListener(新视图.OnClickListener(){
@RequiresApi(api=Build.VERSION\u CODES.M)
@凌驾
公共void onClick(视图v){
AlertDialogReport userReport=新建AlertDialogReport(上下文,“替换-删除”,workDayItem);
userReport.InitializeAllertDialog();
alertDialog.disclose();
}
});
delete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//从firebase中删除数据
Login.fc.databaseReference.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
字符串itemTime=”“+workDayItem.getDateStart().getTime();
字符串firebaseTime=“”+snapshot.child(“dateStart”).child(“time”).getValue();
if(itemTime.equals(firebaseTime)){
Login.fc.databaseReference.child(snapshot.getKey()).removeValue();
}
}
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
}
});
//从SQLITE数据库中删除数据
    //Check if current item have description
    if (workDayItemList.get(position).getDesc().length() > 2) {
                Log.i(TAG, "TESTER: desc dote added");
                holder.doteOfDesc.setVisibility(View.VISIBLE);
            }
    else if( workDayItemList.get(position).getDesc().length() < 2 
             && holder.doteOfDesc.getVisibility()== View.VISIBLE ){
     holder.doteOfDesc.setVisibility(View.GONE);
}
  Boolean hasDescription = workDayItemList.get(position).getDesc().length() > 2;
  holder.doteOfDesc.setVisibility( hasDescription ? View.VISIBLE : View.GONE);