2012-01-30 49 views
0

我有10個圖像在一個數組中的10個問題的答案,這也是另一個數組中的圖像。android多選使用圖像

我有10個圖像按鈕出現在我的相對佈局加載10個答案圖像。答案數組是answers [],而questions數組是questions []。它們相互對應,這意味着答案[1]是問題的答案[1],答案[4]是問題的答案[4]等等。我有一個簡單的「for」語句,即for(int i=0; i<=9; i++)

我希望10個問題每次出現一個,讓用戶回答。我需要程序暫停並讓用戶點擊問題的答案。用這個「for」語句,問題[0]中的第一個問題將在imageview中彈出。如果使用if語句,我想說「如果點擊圖像[0]的圖像按鈕,然後我想要顯示的圖像會顯示正確並執行一些其他操作,否則我需要圖像說錯誤並執行其他操作」然後我希望它暫停,直到用戶點擊屏幕上的任何位置。

任何人都可以幫助我暫停在「for」語句以讓用戶回答,而「if」語句如果選擇了正確的答案,我可以顯示一個圖像,說正確的等,然後再次暫停直到用戶點擊屏幕上的任何地方?謝謝!

順便說一句,我需要那些問題圖像顯然彈出在相同的圖像視圖,只是改變圖像。

+1

你的問題不是一個真正的問題 - 你基本上要求我們爲你寫你的應用程序。由於您沒有太多的Android體驗,請從「Activity生命週期」開始http://developer.android.com/reference/android/app/Activity.html – BitBank 2012-01-30 04:55:10

回答

0

您不能像使用for循環那樣真正地控制程序流。 Android中的用戶界面是事件驅動的,因此從問題轉移到問題的唯一方法是對用戶單擊按鈕時生成的事件作出反應。您可以通過查找按鈕並附加Click事件的事件處理程序(名爲onClick,它是View.OnClickListener接口的一部分)來執行此操作。您可以在您的活動課程中定義一個變量,以存儲您正在使用的問題,並在用戶回答問題時使用該變量。你的活動可能看起來像這樣:

public class QuestionActivity extends Activity implements View.OnClickListener { 

    public int currentQuestion = 0; 
    Image[] answers; 
    Image[] questions; 

    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     // Load questions and answers 
     setContentView(R.layout.mylayout); 
     final ImageButton button = (ImageButton)findViewById(R.id.mybutton); 
     button.setOnClickListener(this); 
    } 

    public void onClick(View view) 
    { 
     if (/* the answer is correct */) { 
      // happiness: show images, do what needs doing 
     } else { 
      // sadness: show other images, etc 
     } 
     currentQuestion++; 
    } 

}