mConsumeFinishedListener: cannot resolve symbol

443 Views Asked by At

I followed this guide, and at the middle of the guide I came across "mConsumeFinishedListener ":

I needed to copy it to my app code, and for some reason, the mPurchaseFinishedListener (I am using Android Studio) was red (means that there is an error).

when I hovered the mPurchaseFinishedListener with the mouse, Android studio said "Cannot resolve simbol 'mPurchaseFinishedListener'".

Now obviously I am doing something wrong, can somebody please help me?

I well positioned, the code ?? I used this tutorial: http://www.techotopia.com/index.php/An_Android_Studio_Google_Play_In-app_Billing_Tutorial

import com.kiry32.root.quizaia.util.IabHelper;
import com.kiry32.root.quizaia.util.IabResult;
import com.kiry32.root.quizaia.util.Inventory;
import com.kiry32.root.quizaia.util.Purchase;


import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;




public class Sostienici_ing extends AppCompatActivity {




private static final String TAG = "com.kiry32.quizaia";
IabHelper mHelper;
static final String ITEM_SKU = "android.test.purchased";


private Button clickButton;
private Button buyButton;




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


    buyButton = (Button)findViewById(R.id.buyButton);
    clickButton = (Button)findViewById(R.id.clickButton);
    clickButton.setEnabled(false);


    String base64EncodedPublicKey = "";

    mHelper = new IabHelper(this, base64EncodedPublicKey);




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

        }
    };


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

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

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

                    if (result.isSuccess()) {
                        clickButton.setEnabled(true);
                    } else {
                        // handle error
                    }
                }
            };








}

public void consumeItem() {
    mHelper.queryInventoryAsync(mReceivedInventoryListener);
}


@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent data)
{
    if (!mHelper.handleActivityResult(requestCode,
            resultCode, data)) {
        super.onActivityResult(requestCode, resultCode, data);
    }




}


public void buyClick(View view) {
    mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001,
            mPurchaseFinishedListener, "mypurchasetoken");
}


@Override
public void onDestroy() {
    super.onDestroy();
    if (mHelper != null) mHelper.dispose();
    mHelper = null;
}






public void buttonClicked (View view)
{
    clickButton.setEnabled(false);
    buyButton.setEnabled(true);
}

}

public void buyClick(View view) {
        mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001,
            mPurchaseFinishedListener, "mypurchasetoken");
    }
0

There are 0 best solutions below