首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法从onCreate外部将数据设置为MPAndroidChart

在Android开发中,MPAndroidChart是一个流行的开源图表库,用于在应用程序中绘制各种类型的图表。在使用MPAndroidChart时,有时候我们需要在onCreate方法之外设置数据,但是直接在onCreate外部设置数据可能会导致图表无法正确显示。这是因为在onCreate方法之外设置数据时,可能会在图表尚未完全初始化之前进行操作,从而导致数据无法正确加载。

为了解决这个问题,我们可以采取以下步骤:

  1. 在onCreate方法中创建MPAndroidChart实例,并设置其基本属性,如图表类型、颜色、字体等。
  2. 在onCreate方法中创建一个空的数据集,用于存储图表的数据。
  3. 在onCreate方法之外的适当位置,获取需要设置的数据。
  4. 在获取数据后,通过调用MPAndroidChart实例的相应方法,将数据添加到数据集中。
  5. 最后,在onCreate方法中,将数据集设置给MPAndroidChart实例,以便图表可以正确显示。

下面是一个示例代码:

代码语言:txt
复制
public class MainActivity extends AppCompatActivity {
    private LineChart lineChart;
    private LineData lineData;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lineChart = findViewById(R.id.lineChart);

        // 设置图表基本属性
        lineChart.setDrawGridBackground(false);
        lineChart.getDescription().setEnabled(false);
        lineChart.setTouchEnabled(true);
        lineChart.setDragEnabled(true);
        lineChart.setScaleEnabled(true);
        lineChart.setPinchZoom(true);
        lineChart.getLegend().setEnabled(false);

        // 创建空的数据集
        lineData = new LineData();

        // 在适当位置获取数据
        List<Entry> entries = getData();

        // 将数据添加到数据集中
        LineDataSet dataSet = new LineDataSet(entries, "Data");
        lineData.addDataSet(dataSet);

        // 设置数据集给图表
        lineChart.setData(lineData);
        lineChart.invalidate();
    }

    private List<Entry> getData() {
        // 在这里获取数据并返回
        List<Entry> entries = new ArrayList<>();
        entries.add(new Entry(0, 10));
        entries.add(new Entry(1, 20));
        entries.add(new Entry(2, 30));
        return entries;
    }
}

在这个示例中,我们在onCreate方法中创建了一个空的LineData对象,并在getData方法中获取了需要设置的数据。然后,我们将数据添加到LineData对象中,并将LineData对象设置给LineChart实例,以便图表可以正确显示。

需要注意的是,这只是一个示例代码,实际情况中,你可能需要根据具体需求进行适当的修改和调整。

推荐的腾讯云相关产品:腾讯云移动分析(https://cloud.tencent.com/product/ma)可以帮助开发者进行移动应用数据分析和统计,提供丰富的数据分析功能和可视化报表,帮助开发者更好地了解和优化应用性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MPAndroidChart_水平条形图的那些事

MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart...但是并不一定准确 setAxisMaximum 它与x的大小有关,MPandroidchart 在 将数据添加到图表中时,因为x不固定大小,所以在每次绘制时,会以最大的x值和标签的个数来规定标签的显示...,及就是value0开始增加,执行标签个数次。...3.12补充 今天使用的时候发现了一个问题,我的y轴数据为啥偶尔不显示了? 原因是因为有一方的最小y轴长度没有设置,在使用别的图时,我们直接setEnabled禁用即可。...原因是因为,水平图表 需要你的两条y轴确定一个点来定位,但是我们一般只对一个轴进行设置,所以就会产生数据点不显示的情况。

1.8K20
  • MPAndroidChart_动态柱状图

    MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart...MPAndroidChart_雷达图的那些事 需求:显示最近20条的数据,而且500毫秒秒刷新一次,每次都要求数据最新。...解决办法: 使用List储存,每次存储在下标0的位置,当list长度大于20时,删除第20位即可。...需要注意的是(为了时刻展示最新数据,我们将数据存在下标0的位置,但是要记得遍历list,同步x轴位置) 布局界面 <?...效果图 最后,写一下自定义x轴的一些注意事项 1. x轴标签的位置与自定义x轴最大值相关,比如上面代码里设置了最大长度25f,但是在给List里面添加数据时,我们的 i 最大也就是

    1.4K40

    Android MPAndroidChart开源图表库之饼状图的代码

    MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。...MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。...// mChart.setOnAnimationListener(this); pieChart.setCenterText("Quarterly Revenue"); //饼状图中间的文字 //设置数据...// 饼图数据 /** * 将一个饼形图分成四部分, 四部分的数值比例14:14:34:38 * 所以 14代表的百分比就是14% */ float quarterly1 = 14;...后面还会陆陆续续大家介绍MPAndroidChart其他类型的图表。 以上就是本文的全部内容,希望对大家的学习有所帮助。

    1.4K30

    MPAndroidChart_并列柱状图,及如何实现点击隐藏掉不需要的条目。

    MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart...思路是这样的,这里感谢我的工作室同学,简单又粗暴: 点击相应的按钮,设置相应的柱状图颜色白色。算一种比较投巧的办法吧。...我当时的想法是,对数据进行保留,然后加上标记位,每次点击,将相应位置的数据改为0,然后刷新布局即可。...但是总是List数据改了 ,图表刷新却直接将一组数据全删了,很是纳闷,试了一个上午,都没有找到原因。...//设置 chart.setData(data); //刷新布局 chart.invalidate(); } //设置柱状图颜色白色

    1.5K20

    实用的 Android 开源库整理

    能够加载网络、本地数据库、本地资源中的图像,在图像加载出来之前,还能够预先设置一个预设的图像占位符,有二级缓存(内存和硬盘缓存) dependencies { // your app's other...com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support:support-v4:19.1.0' } OkHttp OkHttp是一个Android...return; } LeakCanary.install(this); // Normal app init code... } } MPAndroidChart 一个强大的制作图表的开源库...,支持 线图、饼状图、雷达图、气泡图等 dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1' } ButterKnife...Realm 简单快速的存储,节省更多的开发时间,是一个移动设备的数据库 Timber Timber是一个开源的log框架 compile 'com.jakewharton.timber:timber

    70210

    Android中MPAndroidChart自定义绘制最高点标识的方法

    前言 MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。...MPAndroidChart自定义绘制最高点标识 距离上次发布关于 MPAndroidChart 的文章已经过去一个多月了,项目中新增了一个需求,看起来很简单。...看起来很简单,在 MPAndroidChart 的 demo 中也有 LineChart 具有小圆圈的和显示数值的,不过只在最高点绘制似乎是没有,并且也无法控制小空心圈圈的大小,所以只能自定义绘制了。...接下来说说一个 LineChart 的基本构成,每一个点都是一个 Entry,其两个参数分别是 X 轴和 Y 轴的值,X 轴的必须整型,Y 轴的是浮点型。...画平均线很简单,已经内置了实现,你要做的就是计算出所有的 Y 轴的值的平均值,或者数值如果来源于接口中,直接设置就可以。

    2K30

    2017——国外SDK发展趋势

    它们均提供了全面的功能——分析、后端到广告等。 不过应用开发平台所提供的功能也是有所差别的。...那些有复杂需求的大型企业(如沃尔玛)可能会选择特定的 SDK,他们有更多的预算和工程资源,可用于实现特定的 SDK,解决免费平台无法解决的问题。 另一个原因是开发者希望把他们的数据放在同一个地方。...所以,看到数据可视化 SDK MPAndroidChart 的增长如此之快,我们一点也不感到意外。...安装了 MPAndroidChart 的应用程序的数量发展情况 开发者通过 MPAndroidChart 将应用数据呈现成有意义的图表。...重点是,应用程序收集了越来越多的数据数据可视化势在必行。如果你的应用程序需要聚合和呈现数据,那么可以考虑使用 MPAndroidChart(iOS 有 Charts)。

    6.2K60

    Android 主流通用常用框架汇总(持续更新)

    网络请求框架 图片相关框架 权限设置框架 json解析框架 下拉刷新框架 图表框架 数据库相关框架 日志相关框架 组件化开发框架 开发模式相关 控件相关框架 动画相关框架 网络请求框架 1.Retrofit...github https://github.com/hdodenhof/CircleImageView 7.AndroidImageSlider AndroidImageSlider 库开发者是代码家, 该库是...Banner 图片滑动提供多种动画效果, 还可以轻易 Banner 加载网络图片 github https://github.com/daimajia/AndroidImageSlider 8.RoundedImageView.../PhilJay/MPAndroidChart github https://github.com/PhilJay/MPAndroidChart 之前也写过一篇关于这个框架使用的文章:Android 图表开发开源库...如果说缺点,无法设置icon与titile的间距,无法自定义视图的大小等,但这 些都可以通过修改源代码解决 github https://github.com/roughike/BottomBar 7.

    6.3K62

    Android 图表开发开源库MPAndroidChart

    上面是APP中实现的效果图(点击可以放大查看) MpAndroidChart 的下载地址 图1的效果不是用这个实现的,如果感兴趣可以参考我这篇文章  Android渐变圆环 总体来说,MPAndroidChart...开源库的核心功能: 支持x,y轴缩放 支持拖拽 支持手指滑动 支持高亮显示 支持保存图表到文件中 支持文件(txt)中读取数据 预先定义颜色模板 自动生成标注 支持自定义x,y轴的显示标签 支持x,y...setVisibleXRangeMaximum(float maxXRange):设置x轴最多显示数据条数,(要在设置数据源后调用,否则是无效的) enableGridDashedLine(float...setAxisMaxValue(float max):设置一个自定义的最大值这条轴,如果设置了,这个值将不会依赖于提供的数据自动计算。...自定义影响轴的数值范围应该在图表被设置数据之前应用。

    1.9K20

    【Android】雾霾定位探测系统

    不足之处在于无法适用于Apple的操作系统。 综合上述考虑,我们考虑到绝大多数人是Android用户,因此,我们选择了Android原生开发。...为了防止用户在未经授权的情况下进入时,直接看到空数据。我们设置了一个引导页。...在App启动时,会首先看到引导页,并提示权限授予弹窗,如果用户授予权限则能在2秒之后跳转到主页;如果用户未授权,则不进行跳转,跳出提示引导用户在系统设置内进行授权。...接口返回获取的数据是Json形式,因此我们引入了谷歌开发的Gson库进行json数据的解析。...4、结果分析 在实机上,我们的界面展示如下: 参考资料 Android 天气APP(一)开发准备 Android图表MPandroidChart之曲线图绘制教程

    62020

    Android中SQLite数据库小计

    键约束和事务 SQLite默认不开启键约束,可以使用setForeignKeyConstraintsEnabled来开启键约束。但是不同API版本的行为和设置方式会有差异。...Android应用则是全不同的情况,用户下载并运行apk来安装一个程序,其apk中包含所有相关的数据,安装过程程序自身完成各种引导和设置。如果需要数据库,程序自身负责创建它。...数据库版本 数据库的onCreate方法接收一个大于0的int参数version作为对应数据库的版本标识,作为数据库的元数据。...可以使用以下两个方法来达到暂时性的开启和关闭键约束这样的目的: onConfigure 方法在数据库连接成功后立即执行——在onCreate、onUpgrade和onDowngrade方法的前面。...当然,直接将Application对象设计单例模式来全局访问也是可以的。

    2.1K90

    弃Windows转Linux,韩国政府能成么?

    根据韩国先驱报的消息,韩国内政部将开始在PC上测试运行Linux,如果没有安全性问题出现,Linux系统在政府内部将得到更广泛的引入,虽然不知道韩国政府测试了哪些Linux发行版,但更多人会持续关注的是最终会确定哪个版本...在测试阶段,韩国内政部将会重点测试系统是否可以在没有安全风险的私有网络设备上运行,以及对现有的网站和软件是否能够表现出良好的兼容性。...媒推测,韩国政府与微软签订了批量许可协议,这样使得他们有资格获得额外三年的付费安全更新,也能够有充足的时间实施过度计划。...而对于Windows系统,谁也无法保证未来美国会采取什么样的惊世举动。 ?...该版本能做到“政府数据不出镜、留在中国”,实现本地激活、补丁、更新和 升级。 在国产操作系统还未真正成熟之前,Windows 10 政府定制版或许是最合适解药。

    1.2K50
    领券