访问双嵌套类中的值

时间:2015-11-10 07:48:20

标签: android variables variable-assignment inner-classes

我在尝试从匿名类中获取某些值并将它们分配给全局变量pDescrpPrice时遇到问题。

public class ListActivity extends AppCompatActivity {

    private String[] pDescr;
    private String[] pPrice;

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

        ...

        iabHelper = new IabHelper(this, base64EncodedPublicKey);

        iabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {

            public void onIabSetupFinished(IabResult result) {

                // creating skuList here
                ...

                pDescr = new String[skuList.size()];
                pPrice = new String[skuList.size()];

                iabHelper.queryInventoryAsync(true, skuList, new IabHelper.QueryInventoryFinishedListener() {

                    @Override
                    public void onQueryInventoryFinished(IabResult result, Inventory inv) {

                        for (int i = 0; i < skuList.size(); i++) {
                            pDescr[i] = inv.getSkuDetails(skuList.get(i)).getDescription();
                            pPrice[i] = inv.getSkuDetails(skuList.get(i)).getPrice();
                        }
                    }
                });
            }
        });
...

我没有收到任何错误,但pDescr和pPrice始终保持nullinv.getSkuDetails(skuList.get(i)).getDescription();inv.getSkuDetails(skuList.get(i)).getPrice();显然正在返回字符串..我检查了它,但将它们打印到日志中。

我的错误在哪里?

编辑:

这是skuList的代码,虽然它并不重要

final ArrayList<String> skuList = new ArrayList<String>();
for (int i = 0; i < productsIDs.length; i++) {
       skuList.add(productsIDs[i]);
}

productIDs是一个从json中检索到ID的数组。它中有正确的值,双重检查。

0 个答案:

没有答案