Java 如何计算索引的值

Java 如何计算索引的值,java,android,json,adapter,Java,Android,Json,Adapter,这是我的json variabelijiInvest,persenHmint1,inuNilai,selishih,persen_hke1,tanggal,ijiId我想得到valueResult=inuNilai(i)-inuNilai(0)并将这个值发送到我的适配器,但我不知道如何发送它,关于细节,我是如何声明我的variabel的: public class NabDetail { public static final char[] Perubahan1 = null;

这是我的json variabel
ijiInvest,persenHmint1,inuNilai,selishih,persen_hke1,tanggal,ijiId
我想得到value
Result=inuNilai(i)-inuNilai(0)
并将这个值发送到我的适配器,但我不知道如何发送它,关于细节,我是如何声明我的variabel的:

public class NabDetail {
    public static final char[] Perubahan1 = null;
    String ijiInvest, ijiId;
    String tanggal;
    double persenHmint1, inuNilai, selisih,persen_hke1;

    public NabDetail(String ijiInvest, double persenHmint1, double inuNilai, 
            double selisih,double persen_hke1, String tanggal,String ijiId) {
        // TODO Auto-generated constructor stub
        this.ijiInvest = ijiInvest;
        this.persenHmint1 = persenHmint1;
        this.inuNilai = inuNilai;
        this.selisih = selisih;
        this.ijiId = ijiId;
        this.tanggal = tanggal;
        this.persen_hke1=persen_hke1;
    }

    public String getIjiInvest() {
        return ijiInvest;
    }

    public String getIjiId() {
        return ijiId;
    }

    public String getTanggal() {

        return tanggal;
    }

    public double getPersenHmint1() {
        return persenHmint1;
    }

    public double getInuNilai() {
        return inuNilai;
    }

    public double getSelisih() {
        return selisih;
    }

    public double getpersen_hke1(){
        return persen_hke1;
    }
}
这就是我解析json的方式:

try {
            JSONArray jsonArray = new JSONArray(result);
            NabDetail item = null;

            for (int i = 0; i < jsonArray.length(); i++) {

                JSONObject jsonObject = jsonArray.getJSONObject(i);

        item = new NabDetail(jsonObject.optString("lji_invest"), 
                        jsonObject.optDouble("persen_hmin1"), 
                        jsonObject.optDouble("lnu_nilai"), 
                        jsonObject.optDouble("selisih"), 
                        jsonObject.optDouble("persen_hke1"),
                        jsonObject.optString("tanggal"),
                        jsonObject.optString("lji_id") 
                        );


                listData.add(item);
            }

            TabelNABDetail adapter = new TabelNABDetail(NABActivityDetail.this, 
                    listData);
            listviewtabel.setAdapter(adapter);
我注释的行
//holder.perubahan.setText(String.valueOf(listData.get(position.Perubahan1));

返回视图是我放置结果值的位置。但是我不知道如何计算并将其发送到我的适配器中,我希望有人理解我的意思并帮助解决我的问题,非常感谢。

以下是我对您的问题的解释,您有一个JSON数据数组,并且您想计算差异(selisih)在索引0上的inuNilai值和索引1上的inuNilai值之间,并将其插入文本视图,这是否正确

如果这是您想要做的,那么您需要这样做:

holder.perubahan.setText(String.valueOf(listData.get(position).getInuNilai()-listData.get(position-1).getInuNilai());
有关更清晰的代码:

double inuNilai0 = listData.get(position-1).getInuNilai();
double inuNilai1 = listData.get(position).getInuNilai();
double result = inuNilai1-inuNilai0;
holder.perubahan.setText(String.valueOf(result);
但是请记住,如果位置索引=0,则检查代码是否可能导致
NullPointerException
。您必须检查如果索引为0,则结果=0

也许是这样:

if (position==0) {
        holder.perubahan.setText("0");
} else {
        double inuNilai0 = listData.get(position-1).getInuNilai();
        double inuNilai1 = listData.get(position).getInuNilai();
        double result = inuNilai1-inuNilai0;
        holder.perubahan.setText(String.valueOf(result);
}

我希望这是有帮助的,祝你好运^

这是我对你的问题的解释,你有一个JSON数据数组,你想计算索引0上的inuNilai值和索引1上的inuNilai值之间的(selish),并将其插入到textView中,这是否正确

如果这是您想要做的,那么您需要这样做:

holder.perubahan.setText(String.valueOf(listData.get(position).getInuNilai()-listData.get(position-1).getInuNilai());
有关更清晰的代码:

double inuNilai0 = listData.get(position-1).getInuNilai();
double inuNilai1 = listData.get(position).getInuNilai();
double result = inuNilai1-inuNilai0;
holder.perubahan.setText(String.valueOf(result);
但是请记住,如果位置索引=0,则检查代码是否可能导致
NullPointerException
。您必须检查如果索引为0,则结果=0

也许是这样:

if (position==0) {
        holder.perubahan.setText("0");
} else {
        double inuNilai0 = listData.get(position-1).getInuNilai();
        double inuNilai1 = listData.get(position).getInuNilai();
        double result = inuNilai1-inuNilai0;
        holder.perubahan.setText(String.valueOf(result);
}

我希望这是有帮助的,祝你好运^

什么是
listData
?不
holder.perubahan.setText(String.valueOf(listData.get(position.Perubahan1 listData.get(0.Perubahan1))按预期工作?什么是
listData
?不
holder.perubahan.setText(String.valueOf(listData.get(position.Perubahan1 listData.get(0.Perubahan1))按预期工作?谢谢您的回答。。。。这是如此接近我需要的,这只是改变listData.get(位置-1)为listData.get(0)如果我想从第一个索引。。。GBU^^谢谢你的回答。。。。这是如此接近我需要的,这只是改变listData.get(位置-1)为listData.get(0)如果我想从第一个索引。。。GBU^^