问题: - 两个点击计数器相互交互
我有5个按钮和2个菜单按钮:
- 第一个列表
- ,
- 随机,
- 第二
- 个列表
- 副本,
- 共享,
- 第一个报价,
- 最新报价
菜单按钮是第一个列表和
第一个按钮列表中的最新报价,我添加了一个计数器在10点后,应显示10个单击后的间隙广告。
在第二个按钮列表中,我添加了一个3个计数器,这意味着在3个单击后应显示间隙广告。
现在,当第一个按钮计数器达到9时,问题就到了(一键后,它应显示AD),然后按2个按钮2) - > AD正在显示
MainActivity.java
int triggerClicks = 3; // for copy,share,firstquote & latestquote
int countClicks = 0;
int triggerClicksNav = 10;// for back,next & random
@SuppressLint("SetTextI18n")
private void latestQuote() {
countClicks++;
if (countClicks != 3) {
position = quotes_list.size() - 1;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
position = quotes_list.size() - 1;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void firstQuote() {
countClicks++;
if (countClicks != 3) {
position = 0;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
position = 0;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void back() {
countClicks++;
if (position > 0) {
position = (position - 1) % quotes_list.size();
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void next() {
countClicks++;
position = (position + 1) % quotes_list.size();
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void random() {
countClicks++;
position = randomQ.nextInt(quotes_list.size());
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
private void copy() {
countClicks++;
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("text", quotesTxt.getText());
if (clipboardManager != null) {
clipboardManager.setPrimaryClip(clipData);
}
Toast.makeText(getApplicationContext(), "Copied", Toast.LENGTH_SHORT).show();
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
private void share() {
countClicks++;
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, quotesTxt.getText());
startActivity(Intent.createChooser(intent, "Share to"));
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
,如果我为每个按钮分配其他计数器,但我不喜欢此解决方案,请解决问题,请添加其他解决方案
int countClicksBack = 0;
int countClicksRandom = 0;
int countClicksNext = 0;
int countClicksCopy = 0;
int countClicksShare = 0;
int countClicksFirst = 0;
int countClicksLatest = 0;
I have 5 buttons and 2 menu button:
- First list
- back,
- random,
- next
- Second list
- copy,
- share,
- first quote,
- latest quote
The menu buttons are the first quote and the latest quote
In the first list of buttons, I have added a counter of 10, which means after 10 clicks the interstitial ad should be shown.
In the second list of buttons, I have added a counter of 3, which means after 3 clicks the interstitial ad should be shown.
Now the problem comes when the first button counter reach 9 (means after one click it should shows the ad) and I press any button from 2) -> ad is showing
MainActivity.java
int triggerClicks = 3; // for copy,share,firstquote & latestquote
int countClicks = 0;
int triggerClicksNav = 10;// for back,next & random
@SuppressLint("SetTextI18n")
private void latestQuote() {
countClicks++;
if (countClicks != 3) {
position = quotes_list.size() - 1;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
position = quotes_list.size() - 1;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void firstQuote() {
countClicks++;
if (countClicks != 3) {
position = 0;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
position = 0;
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void back() {
countClicks++;
if (position > 0) {
position = (position - 1) % quotes_list.size();
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
Log.d(TAG, quotes_list.toString());
}
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void next() {
countClicks++;
position = (position + 1) % quotes_list.size();
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
@SuppressLint("SetTextI18n")
private void random() {
countClicks++;
position = randomQ.nextInt(quotes_list.size());
quotesTxt.setText(quotes_list.get(position));
countTxt.setText(position + "/" + quotes_list.size());
if (mInterstitialAd != null && countClicks >= triggerClicksNav) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
private void copy() {
countClicks++;
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("text", quotesTxt.getText());
if (clipboardManager != null) {
clipboardManager.setPrimaryClip(clipData);
}
Toast.makeText(getApplicationContext(), "Copied", Toast.LENGTH_SHORT).show();
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
private void share() {
countClicks++;
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, quotesTxt.getText());
startActivity(Intent.createChooser(intent, "Share to"));
if (mInterstitialAd != null && countClicks >= triggerClicks) {
mInterstitialAd.show(HomeActivity.this);
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
mInterstitialAd = null;
intertitalAd();
countClicks = 0;
}
});
}
}
The problem get solved if I assign a different counter for every buttons but I don't like this solution, please if u have another solution please add it
int countClicksBack = 0;
int countClicksRandom = 0;
int countClicksNext = 0;
int countClicksCopy = 0;
int countClicksShare = 0;
int countClicksFirst = 0;
int countClicksLatest = 0;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题在于,您使用相同的计数器显示您的广告,但是,如果我理解,您想要2个不同的计数器:一个用于按钮,一个用于菜单。正确的 ?因此,您必须声明2个不同的计数器。
顺便说一句,您的代码不是“清洁”:用于显示您的广告的代码可以用自己的方法导出,类似方法:
The problem is that you're using the same counter to display your ad but, If I've understood, you want 2 different counter : one for buttons and one for menus. Right ? So, you have to declare 2 different counters.
By the way, your code is not "clean": the code used to display your ad can be exported in a own method, something like that: