繁体   English   中英

在Resources.java中无法识别注释和方法

[英]Annotations and methods can not be recognized in Resources.java

我的Android应用引发了ResourcesNotFoundFoundException。

09-05 21:19:28.456 23667-23667/andi.chroeappclient W/ResourceType: No package identifier when getting value for resource number 0x00000001
09-05 21:19:28.456 23667-23667/andi.chroeappclient D/AndroidRuntime: Shutting down VM
09-05 21:19:28.461 23667-23667/andi.chroeappclient E/AndroidRuntime: FATAL EXCEPTION: main
    Process: andi.chroeappclient, PID: 23667
    android.content.res.Resources$NotFoundException: String resource ID #0x1
        at android.content.res.Resources.getText(Resources.java:339)
        at android.widget.TextView.setText(TextView.java:5496)
        at andi.chroeappclient.TasksArrayAdapter.getView(TasksArrayAdapter.java:40)
        at android.widget.AbsListView.obtainView(AbsListView.java:2365)
...

因此,我单击了Resources.java:339并看到

TasksArrayAdapter.java:40是viewHolder.textViewPoints.setText(task.getPoints());

我尝试了Invalid Caches / RestardSync Project with Gradle Files以及Clean and Rebuild Project但是都没有帮助。

我怎样才能解决这个问题?

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import java.util.ArrayList;

public class TasksArrayAdapter extends ArrayAdapter<Task> {
    public TasksArrayAdapter(@NonNull Context context, int resource, ArrayList<Task> arrayList) {
        super(context, resource);
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        Task task = getItem(position);
        ViewHolder viewHolder;

        if (convertView == null) {
            viewHolder = new ViewHolder();
            convertView = LayoutInflater.from(getContext())
                    .inflate(R.layout.element, parent, false);
            viewHolder.textViewName = convertView.findViewById(R.id.textViewName);
            viewHolder.textViewPoints = convertView.findViewById(R.id.textViewPoints);
            viewHolder.textViewCycle = convertView.findViewById(R.id.textViewCycle);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }


        viewHolder.textViewName.setText(task.getName());
        viewHolder.textViewPoints.setText(task.getPoints());
        viewHolder.textViewCycle.setText(task.getCycle());

        return convertView;
    }

    private static class ViewHolder {
        TextView textViewName;
        TextView textViewPoints;
        TextView textViewCycle;
    }
}

只需更改此行

viewHolder.textViewPoints.setText(task.getPoints());

viewHolder.textViewPoints.setText(String.valueOf(task.getPoints()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM