gpt4 book ai didi

java - 如何防止 theme.dialog Activity 允许外部触摸?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:17 25 4
gpt4 key购买 nike

我有一个使用 Theme.Dialog 样式的 Activity 。这是我的问答游戏的弹出窗口,用于错误答案。但我有一个问题。用户可以在弹出对话框主题 Activity 之外单击,然后单击下一个问题。如何防止这种情况?我屏蔽了后退按钮,效果很好。此外,当用户单击弹出窗口或其外部时,它会再次开始计算打开时间。我的弹出窗口保持打开状态 2500 毫秒。如何预防呢?

所以,基本上我不想在我的弹出窗口之外允许任何点击,也不想在有人点击屏幕时重置我的延迟时间。

弹出窗口的代码如下:

public class WrongAnswer extends Activity{
MediaPlayer sound;
TextView wrong;
String correctAnswer, correct;

public final int delayTime = 2500;
private Handler myHandler = new Handler();

public void onUserInteraction(){
myHandler.removeCallbacks(closePopup);
myHandler.postDelayed(closePopup, delayTime);
}
private Runnable zatvoriPopup = new Runnable(){
public void run(){
finish();
}
};

@Override
public void onBackPressed() {

}

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);


setContentView(R.layout.wrong);


Bundle extras = getIntent().getExtras();
if(extras !=null) {
tacno = extras.getString("correctAnswer");
}

inicijalizujVarijable();

myHandler.postDelayed(closePopup, delayTime);


}

private void inicijalizujVarijable() {
wrong = (TextView) findViewById(R.id.tvWrong);
wrong.setText("Wrong answer!\nCorrect answer is:\n\n" + correct);
}
}

我在 list 中的 Activity :

<activity
android:name="com.myquiz.myquizgame.WrongAnswer"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="com.myquiz.myquizgame.WRONGANSWER" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

最佳答案

如果我没听错的话,这个问题已经有人问过了。这是 answer ,根据它,您需要在 Activity 上调用 setter 方法,这将关闭您的 Activity 对话框:

this.setFinishOnTouchOutside(false);

希望对您有所帮助。

其次,每次当用户触摸 WrongAnswer Activity 时——您开始新的延迟任务并在此处取消之前的任务:

public void onUserInteraction() {
myHandler.removeCallbacks(zatvoriPopup);
myHandler.postDelayed(zatvoriPopup, delayTime);
}

这就是为什么你的计时器有问题

关于java - 如何防止 theme.dialog Activity 允许外部触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25192472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com