Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不是';我的消耗品坏了吗?_Java_Android_In App Purchase - Fatal编程技术网

Java 为什么不是';我的消耗品坏了吗?

Java 为什么不是';我的消耗品坏了吗?,java,android,in-app-purchase,Java,Android,In App Purchase,我在网上学习了一个教程。我的onCreate之前已经有了所有这些代码 IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { public void onConsumeFinished(Purchase purchase,

我在网上学习了一个教程。我的onCreate之前已经有了所有这些代码

IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
        new IabHelper.OnConsumeFinishedListener() {
            public void onConsumeFinished(Purchase purchase,
                                          IabResult result) {

                if (result.isSuccess()) {
                        btnPurchase.setEnabled(false);
                    btnStats.setBackgroundResource(R.drawable.purchasepressed);
                    test.setText("IT WORKS!!!");

                } else {
                    // handle error
                }
            }
        };
public void consumeItem() throws IabHelper.IabAsyncInProgressException {
    mHelper.queryInventoryAsync(mReceivedInventoryListener);

}




@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent data) {
    try {
        if (!mHelper.handleActivityResult(requestCode,
                resultCode, data)) {
            super.onActivityResult(requestCode, resultCode, data);
        }
    } catch (IabHelper.IabAsyncInProgressException e) {
        e.printStackTrace();
    }
}




IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener
        = new IabHelper.QueryInventoryFinishedListener() {
    public void onQueryInventoryFinished(IabResult result,
                                         Inventory inventory) throws IabHelper.IabAsyncInProgressException {


        if (result.isFailure()) {
            // Handle failure
        } else {
            mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), mConsumeFinishedListener);
        }
    }
};


public void buyClick(View view) throws IabHelper.IabAsyncInProgressException {


 mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001,
            mPurchaseFinishedListener, "mypurchasetoken");
}

IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
        = new IabHelper.OnIabPurchaseFinishedListener() {
    public void onIabPurchaseFinished(IabResult result,
                                      Purchase purchase) throws IabHelper.IabAsyncInProgressException {
        if (result.isFailure()) {
            // Handle error
            return;
        } else if (purchase.getSku().equals(ITEM_SKU)) {

            btnPurchase.setEnabled(false);
            btnPurchase.setBackgroundResource(R.drawable.purchasepressed);
            test.setText("IT WORKS!!!");


        }

    }
};
我的印象是,购买后.getSKU().equals(ITEM_SKU) 如果购买成功,您可以输入任何应该执行的代码

正如您在这里看到的,如果购买成功,我的购买按钮应该被禁用并更改其背景图像。此外,我还添加了一个测试文本标签,以查看错误是否在代码中的其他地方

当我在手机上运行代码时,我会看到“购买”对话框和“成功”,但按钮和文本不会改变

请帮忙