首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataPoint []不接受浮点型变量

DataPoint []不接受浮点型变量
EN

Stack Overflow用户
提问于 2018-03-18 13:06:31
回答 1查看 143关注 0票数 1

我试着根据两个数组的值,即conc和optical来绘制一张图。我已经创建了两个用于保存这些数组的活动,并使用bundle和intent将数组列表传递给使用string的第三个活动。每当我尝试运行代码时,我的应用程序都会崩溃。

代码语言:javascript
复制
GraphView gpView;
String co;
String od;
Float x,y;
int l1,l2;
DataPoint [] dp;

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

    Bundle bundle1 = getIntent().getExtras();
    ArrayList<String> array1 = (ArrayList<String>) bundle1.getStringArrayList("Conc");

    Bundle bundle2 = getIntent().getExtras();
    ArrayList<String> array2 = (ArrayList<String>) bundle2.getStringArrayList("Od");


    gpView= findViewById(R.id.graph);
    LineGraphSeries <DataPoint> series = new LineGraphSeries<>();

    l1 = array1.size();
    l2 = array2.size();

    if((array1.contains(true))&&(array2.contains(true)))
    {
        for (int c1 = 0; c1<l1; c1++)
        {
            for(int c2=0; c2<l2; c2++ ) {
                co = array1.get(c1);
                od = array2.get(c2);
                x = Float.parseFloat(co);
                y = Float.parseFloat(od);
                dp[c1] = new DataPoint(x,y);
            }
        }
        gpView.addSeries(series);
    }



}

或者,我试着运行一个简单的输入法,它使用下面的代码

代码语言:javascript
复制
    private DataPoint[] getDataPoint ()
    {
        dp = new DataPoint[]
                {
                        new DataPoint(10, 0.2),
                        new DataPoint(20, 0.38),
                        new DataPoint(30, 0.45),
                        new DataPoint(40, 0.69),
                        new DataPoint(50, 0.81),
                };
        return (dp);
    }
EN

回答 1

Stack Overflow用户

发布于 2018-03-19 10:28:51

我想你还没有初始化你的dp数组。初始化您的数组

代码语言:javascript
复制
dp = new DataPoint[l1];

if语句之前的if((array1.contains(true))&&(array2.contains(true)))

编辑:

可能是你得了NullPointerException。检查array1array2不为空

代码语言:javascript
复制
if(array1 == null){
  Toast.makeText(this, "array1 is null", Toast.LENGTH_LONG).show();
}


if(array2 == null){
  Toast.makeText(this, "array2 is null", Toast.LENGTH_LONG).show();
}

if(array1 != null){
   l1 = array1.size();
}


if(array2 != null){
   l2 = array2.size();
}

if(l1 > 0){

 dp = new DataPoint[l1];

 for (int c1 = 0; c1<l1; c1++)
 {
     for(int c2=0; c2<l2; c2++ ) {
         co = array1.get(c1);
         od = array2.get(c2);
         x = Float.parseFloat(co);
         y = Float.parseFloat(od);
         dp[c1] = new DataPoint(x,y);
     }
 }
 gpView.addSeries(series);
}

如果array1array2为空,请确保通过Intent同时传递这两个数组列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49344634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档