簡體   English   中英

安卓按鈕點擊

[英]Android Button click

我想知道他們是否是檢查按鈕是否被點擊 X 次的方法。 例如,我的 android 應用中有一個按鈕,如果用戶點擊它超過 3 次,我想顯示一個廣告。 我的項目的代碼如下。 我相信他們是在我的 onlcicklistener 上實現它的一種方式,但不確定如何去做。

import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.TextView;

import com.startapp.android.publish.StartAppAd;


public class ClipAdapter extends BaseAdapter {
   private StartAppAd startAppAd;
   private GridActivity m_context;
   private Soundboard m_soundboard;
   private static LayoutInflater inflater=null;


public ClipAdapter(GridActivity c, Soundboard s) {
    m_context = c;
    startAppAd = new StartAppAd(m_context);
    m_soundboard = s;
    inflater = ( LayoutInflater )m_context.
            getSystemService(Context.LAYOUT_INFLATER_SERVICE);


}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return m_soundboard.getSize();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return m_soundboard.get(position);
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    try {
        final Clip c = m_soundboard.get(position);
        View rowView;

        if (c != null) {
            rowView = inflater.inflate(R.layout.grid_item_layout, null);
            TextView tv =(TextView) rowView.findViewById(R.id.textView);
            ImageButton button=(ImageButton)           rowView.findViewById(R.id.imageButton);
            //Button button = new Button(m_context);
            //button.setHeight(24);
            tv.setText(c.getTitle());
            m_context.registerForContextMenu(button);
            button.setTag(c);
            //button.getBackground().setColorFilter(new LightingColorFilter(0xffFFFFFF, 0xffFFFFFF));
            //button.setPadding(0,0,0,0);
            button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    m_context.play(c.getResourceId());
                }
            });

            //return button;
            return rowView;
        }
    }
    catch (IndexOutOfBoundsException e) {
        Log.e(getClass().getCanonicalName(), "No audio at position "
                + position);
    }
    return null;
}

}

將一個像buttonClickTimes這樣的變量定義為integer並賦值給0 在您的onClickListener方法中完成您的工作,並在您的onClickListener開始時像buttonClickTimes++一樣增加它,並在您的onClick方法中放置一個if語句

所以你的代碼應該是這樣的:

Button button;
button.setOnClickListener(buttonClickHandler);
    View.OnClickListener buttonClickHandler= new View.OnClickListener() {
    public void onClick(View v) {
             buttonClickTimes++;
          // do something when the button is clicked



           if(buttonClickTimes == 3) 
              {//show your ad}
        }
    };

編輯:將buttonClickTimes放在onClick方法的開頭,因為您想在按鈕點擊 3 次時顯示廣告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM