我有一个10和20的问题游戏.我需要计算用户完成游戏后经过的时间.
Timer T=new Timer();
T.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
public void run()
{
countdown.setText(""+count);
count++;
}
});
}
}, 1000, 1000);
Run Code Online (Sandbox Code Playgroud)
我用这个来阻止柜台:
T.cancel();
Run Code Online (Sandbox Code Playgroud)
现在我需要两件事:
我想用OK和Cancel按钮显示一个警告对话框,但我只收到取消.当我注释掉取消按钮我然后得到确定按钮.奇怪的.无论如何,这是代码:
final AlertDialog ukucajIme = new AlertDialog.Builder(Kviz.this).create();
ukucajIme.setTitle("Insert your name");
final EditText input = new EditText(Kviz.this);
ukucajIme.setView(input);
ukucajIme.setButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Editable ukucanoIme = input.getText();
finish();
}
});
ukucajIme.setButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
ukucajIme.dismiss();
finish();
}
});
ukucajIme.show();
Run Code Online (Sandbox Code Playgroud)
问题二:每当我尝试使用像ukucajIme.setPositiveButton这样的东西时,它会给我一个错误,并说要将它改为setButton.这是为什么?
我有一个在资产中导入的试用数据库,它是预先填充的.它有6列:_ID,QUESTION,ANSWER,OPTION1,OPTION2,OPTION3,我现在有10行.我正在做类似测验的事情.我想要的是当我打开测验活动以读取一个随机行,然后将setText设置为我创建的4个按钮,button1 = ANSWER,button2 = OPTION1,button3 = OPTION2,button = OPTION3,再次随机.我知道如何将文本设置为按钮和所有,我只想知道如何从数据库中读取所有内容.我有导入数据库的DataBaseHelper类:
package rs.androidaplikacijekvizopstekulture;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import rs.androidaplikacijekvizopstekulture.Pitanja;
public class DataBaseHelper extends SQLiteOpenHelper
{
private static String TAG = "DataBaseHelper"; // Tag just for the LogCat window
//destination path (location) of our database on device
private static String DB_PATH = "";
private static String DB_NAME ="pitanja";// Database name
private static final int DATABASE_VERSION …Run Code Online (Sandbox Code Playgroud) 我意外地发现了这个.我有一个问答游戏,我有一个正确答案的弹出窗口,错误的答案和游戏结束后我有一个结果的弹出窗口.但是,今天我回到游戏中间的后退按钮,到我的主屏幕(不是游戏主屏幕,我的操作系统主屏幕),游戏仍然在后台,就像其他所有Android应用程序一样.几秒钟后,我的错误答案出现了.:)时间到了,自动回答错了.之后我的最终结果弹出继续.那么,当我按下按钮时,如何杀死该活动?我不知道你们是否需要我的任何代码,但以防万一这是我的游戏活动:
public class NeogranicenoPetGresaka extends Activity implements OnClickListener{
MyCount brojacVremena = new MyCount(6000, 1000);
LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();
private String generateWhereClause(){
StringBuilder result = new StringBuilder();
for (Long l : mAnsweredQuestions){
result.append(" AND _ID <> " + l);
}
return result.toString();
}
Button bIzlazIzKviza, bOdgovor1, bOdgovor2, bOdgovor3, bOdgovor4;
TextView question, netacniOdg, score, countdown;
int brojacPogresnihOdgovora = 0;
int brojacTacnihOdgovora = 0;
public static String tacanOdg;
Runnable mLaunchTask = new Runnable() {
public void run() {
nextQuestion();
brojacVremena.start();
}
}; …Run Code Online (Sandbox Code Playgroud) 我需要1,2,3和4中的两个随机数,但它们不能相同,我需要两个不同的变量.
所以,像rnd1 = 1;和rnd2 = 3;.
我试着生成它们的经典风格:int rnd = new Random().nextInt(3) + 1;.而对于另一个同样的方式,但如何确保它们不匹配?怎么做?