android - AndroidRuntime 致命异常 Resources$NotFoundException(Resource ID #0x0)
问题描述
at android.content.res.ResourcesImpl.getValueForDensity(ResourcesImpl.java:278)
at android.content.res.Resources.getDrawableForDensity(Resources.java:933)
at android.content.res.Resources.getDrawable(Resources.java:873)
at android.content.res.Resources.getDrawable(Resources.java:848)
at com.hadiidbouk.charts.ChartProgressBar.build(ChartProgressBar.java:131)
at com.oakridgebs.opg.customer_portal.CustomerDashboardFragment.onCreateView(CustomerDashboardFragment.java:60)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2613)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:246)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:542)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1392)
at android.app.Activity.performStart(Activity.java:7316)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3132)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1978)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:232)
at android.app.ActivityThread.main(ActivityThread.java:7165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
这是我打开屏幕时遇到的错误
这是我的Java代码
public class CustomerDashboardFragment extends Fragment {
ChartProgressBar mChart;
public CustomerDashboardFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_customer_dashboard, container, false);
mChart = (ChartProgressBar) view.findViewById(R.id.chart_progress_bar);
ArrayList<BarData> dataList = new ArrayList<>();
BarData data = new BarData("Sep", 3.4f, "3.4€");
dataList.add(data);
data = new BarData("Oct", 8f, "8€");
dataList.add(data);
data = new BarData("Nov", 1.8f, "1.8€");
dataList.add(data);
data = new BarData("Dec", 7.3f, "7.3€");
dataList.add(data);
data = new BarData("Jan", 6.2f, "6.2€");
dataList.add(data);
data = new BarData("Feb", 3.3f, "3.3€");
dataList.add(data);
mChart.setDataList(dataList);
mChart.build();
return view;
}
}
我在片段中写了这个。我在 mChart.build() 行中遇到错误。这是我的xml代码
<com.hadiidbouk.charts.ChartProgressBar
android:id="@+id/chart_progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
app:hdBarCanBeClick="true"
app:hdBarHeight="170dp"
app:hdBarWidth="7dp"
app:hdBarRadius="10dp"
app:hdMaxValue="10"
app:hdEmptyColor="@color/empty"
app:hdProgressColor="@color/progress"
app:hdProgressClickColor="@color/progress_click"
app:hdPinBackgroundColor="@color/pin_background"
app:hdPinTextColor="@color/pin_text"
app:hdPinPaddingBottom="5dp"
app:hdBarTitleColor="@color/bar_title_color"
app:hdBarTitleTxtSize="12sp"
app:hdPinTxtSize="17sp"
app:hdPinMarginTop="10dp"
app:hdPinMarginBottom="55dp"
app:hdPinMarginEnd="22dp"
app:hdBarTitleMarginTop="9dp"
app:hdProgressDisableColor="@color/progress_disable"/>
你能帮我解决吗我的gradle文件在下面
implementation 'com.github.hadiidbouk:ChartProgressBar-Android:2.0.6'
同步时我没有收到任何错误,但是当我在移动设备中运行并打开应用程序时出现此错误。你能帮我解决吗
解决方案
您缺少构建 ChartProgressBar 所需的可绘制对象。您可以根据需要设置任何图钉图像
所以添加这一行 - app:hdPinDrawable="@drawable/ic_pin" 在你的 ChartProgressBar 像这样..
<com.hadiidbouk.charts.ChartProgressBar
android:id="@+id/chart_progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
app:hdBarCanBeClick="true"
app:hdBarHeight="170dp"
app:hdBarWidth="7dp"
app:hdBarRadius="10dp"
app:hdMaxValue="10"
app:hdEmptyColor="@color/empty"
app:hdProgressColor="@color/progress"
app:hdProgressClickColor="@color/progress_click"
app:hdPinBackgroundColor="@color/pin_background"
app:hdPinTextColor="@color/pin_text"
app:hdPinPaddingBottom="5dp"
app:hdBarTitleColor="@color/bar_title_color"
app:hdBarTitleTxtSize="12sp"
app:hdPinTxtSize="17sp"
app:hdPinMarginTop="10dp"
app:hdPinMarginBottom="55dp"
app:hdPinMarginEnd="22dp"
app:hdPinDrawable="@drawable/ic_pin"
app:hdBarTitleMarginTop="9dp"
app:hdProgressDisableColor="@color/progress_disable"/>
推荐阅读
- javascript - SailsJS / Waterline ORM:仅使用一个查询更新多个条目
- django - 如何从 websocket 请求中找到用户?
- laravel - Laravel 查询构建器 - 使用行中的数据与另一个中的时间进行比较
- spring-boot - 原因:io.lettuce.core.RedisCommandExecutionException: ERR denied to admin command
- sql - 如何在 SELECT 查询中将数组的第一个元素附加到自身
- python - 如果匹配,Sphinx 会忽略结果中的 ID
- ios - 自 iOS 12.2 更新以来,应用程序崩溃且没有崩溃报告
- swift - 我无法解析推送通知中的数据
- ios - IOS Swift,条形图中条形值的自定义渲染器
- arrays - Ruby:如何将唯一值附加到重复项?例如(值,值_2,值_3)