2012-08-05 13 views
0

我正在提出一個問題類型的遊戲,其中每個不同類型的問題都有不同的佈局,因此也是不同的活動。來自靜態方法的新活動Android Java

我的主要活動,點擊「播放」按鈕後,應該隨問題與相應的活動開始。

一旦問題得到解答,應重複此操作。爲此,我希望有一個STATIC方法來隨機化並啓動相應的Activity,但我無法使其工作。

這是你開始遊戲的時候。它隨機化了第一個問題。類型== 3是一類問題的(有很多不同)

 if(Var.qList.get(Var.rndindex).getType()==3) 

      startActivity(new Intent(this, PlayWordMeaning.class)); 
     } 

這工作得很好,但我有一個Var.Class持有所有靜態的東西,我想有一個方法有,挑選下一個問題,以便我可以從其他問題活動中調用它,一旦有人回答正確。我試圖用相同的代碼創建一個靜態方法,但它只是沒有工作,即使我發送上下文。

幫我個忙人,請:)

+0

問題並不清楚,不可理解.. – AAnkit 2012-08-05 09:55:37

+0

簡單地說:我想對我的應用程序有不同的看法:一些有2個按鈕,一些有一個例子,我想要一個靜態方法隨機化一個視圖我。 – user1577191 2012-08-05 10:02:03

+0

你可以通過添加屏幕上的刪除視圖和很多其他方式來實現。如果你可以在你的問題中添加一個例子你正在尋找什麼,你可以回答 – AAnkit 2012-08-05 10:04:05

回答

0

首先,我會建議你有一個plain Java class具有randomize function,無論是靜態或不....這隨機返回根據一些還剩下全部問題。提示:曾經問會從名單中刪除的問題)

2.使用地圖題號鏈接到活動的名稱。

HashMap< Integer,String >//其中整數將是疑問句,以及字符串將活動名稱

+0

我確實有一個普通的java類,它恰好有一個隨機函數,它完全按照你所說的去做。它的範圍是從0到arraylist.lenght()。我還有一個「垃圾」清單,所有回答的問題都放在這裏。 我只是不知道如何使用通用解決方案來開始活動,而不是複製粘貼大量if語句。想象一下,我想要有一個外部功能來照顧活動變化。我如何傳遞論據和內容?一旦我完成了這個問題,問題就解決了:) – user1577191 2012-08-05 11:37:12

+0

所以你想使用委託,因爲你提到了外部函數來照顧你的工作......如果它傳遞了一個泛型的集合,就像這樣......'public void go(ArrayList <?extends YourType> arr)'<?擴展YourType>意味着這個方法go()將接受任何擴展YourType的類型 – 2012-08-05 15:12:27

+0

有人可以幫我解決這個問題的代碼片段嗎?我受訓於編程方式,但缺乏經驗。 – user1577191 2012-08-06 07:00:49

0

如果我得到它正確,你可以簡單地創建類名稱的數組,然後生成一個隨機數回升這樣的類:

Class[] actArr = new Class[2]; 

    actArr[0] = Activity2.class; 
    actArr[1] = Activity3.class; 

    Random rn = new Random(System.currentTimeMillis()); 
    int val = rn.nextInt(2); 

    Intent in = new Intent(this, actArr[val]); 
    startActivity(in); 

它的工作原理!請記住將這些活動類放在您的AndroidManifest.xml文件中。