2011-02-01 110 views
0

我有一個簡單的問答遊戲,它運行良好,但我遇到的一個問題是答案和選項的問題顯示在按鈕上,但答案按鈕每次出現在同一個地方。隨機放置按鈕

有沒有辦法通過XML接口隨機定位,還是更好地在編碼端處理?

以下是我用於XML的代碼以及用於將數據值從SQLite綁定到按鈕的代碼。任何意見將不勝感激。

private void showQuestions(Cursor cursor) { 
// Collect String Values from Query 
StringBuilder questiontxt = new StringBuilder(""); 
StringBuilder answertxt1 = new StringBuilder(""); 
StringBuilder answertxt2 = new StringBuilder(""); 
StringBuilder answertxt3 = new StringBuilder(""); 
StringBuilder answertxt4 = new StringBuilder(""); 

while (cursor.moveToNext()) { 
String question = cursor.getString(2); 
String answer = cursor.getString(3); 
String option1 = cursor.getString(4); 
String option2 = cursor.getString(5); 
String option3 = cursor.getString(6); 
questiontxt.append(question).append(""); 
answertxt1.append(answer).append(""); 
answertxt2.append(option1).append(""); 
answertxt3.append(option2).append(""); 
answertxt4.append(option3).append(""); 
} 
// Display answer button 
TextView answer = (TextView) findViewById(R.id.option1_button); 
answer.setText(answertxt1); 
//Display question 
TextView text = (TextView) findViewById(R.id.text); 
text.setText(questiontxt); 
TextView optionbutton1 = (TextView) findViewById(R.id.option2_button); 
optionbutton1.setText(answertxt2); 
TextView optionbutton2 = (TextView) findViewById(R.id.option3_button); 
optionbutton2.setText(answertxt3); 
TextView optionbutton3 = (TextView) findViewById(R.id.option4_button); 
optionbutton3.setText(answertxt4); 
} 

和XML

<Button 
android:id="@+id/option1_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_above="@+id/option3_button"/> 

<Button 
android:id="@+id/option2_button" 
android:text="@string/option2_label" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentRight="true" 
android:layout_above="@+id/option4_button"/> 

<Button 
android:id="@+id/option3_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/option3_label" 
android:layout_alignParentLeft="true" 
android:layout_alignParentBottom="true"/> 

<Button 
android:id="@+id/option4_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/option4_label" 
android:layout_alignParentRight="true" 
android:layout_alignParentBottom="true"/> 

回答

1

您好我會建議處理上的編碼side..I懷疑你是我能夠chieve這對XML側!

int randomInt = Math.random() * 1000; 

    TextView answer = (TextView) findViewById(R.id.option1_button); 
    answer.setText(answertxt1); 
    //Display question 
    TextView text = (TextView) findViewById(R.id.text); 
    text.setText(questiontxt); 
if(randomInt%3==0){ 
    TextView optionbutton1 = (TextView) findViewById(R.id.option2_button); 
    optionbutton1.setText(answertxt2); 
    TextView optionbutton2 = (TextView) findViewById(R.id.option3_button); 
    optionbutton2.setText(answertxt3); 
    TextView optionbutton3 = (TextView) findViewById(R.id.option4_button); 
    optionbutton3.setText(answertxt4);} 
else {TextView optionbutton1 = (TextView) findViewById(R.id.option3_button); 
    optionbutton1.setText(answertxt3); 
    TextView optionbutton2 = (TextView) findViewById(R.id.option4_button); 
    optionbutton2.setText(answertxt4); 
    TextView optionbutton3 = (TextView) findViewById(R.id.option2_button); 
    optionbutton3.setText(answertxt2);} 

你可以嘗試各種隨機方法在不同的方式來顯示!我希望 這有助於

+0

感謝加里馬在Java中處理此問題的最佳方法的任何想法? – Cam 2011-02-01 04:59:36