OK,所以我有一個活動在啓動時開始(活動一)此活動運行兩個其他活動(活動二和活動三),每個活動運行java類,然後加載到另一個活動(活動四)觸摸事件。活動四然後打開主類。所有這些部分都按照應有的方式工作。如何從運行單獨活動的java類打開活動?
我遇到的問題是從主類和活動四開始一個新的活動(活動五)。我有我的意圖,我的XML佈局文件,和我的清單正確創建。這裏是會很奇怪我...
1)如果我把活動五開始觸摸事件它的偉大工程(我的觸摸事件是在交換機的情況下,它的工作原理,如果我把它放在主類註冊觸摸事件或活動四處理主要類的觸摸事件)。如果我將一條if語句放入觸摸事件中,它會失敗並且沒有錯誤(處理程序的行爲就像從未發生過的事件一樣),除非我在每個「if」語句中都放置Activity Five(這是相同的不管我是隻使用「if」還是多個非嵌套的「if」語句或「if/else if」語句,結果總是相同的,處理程序就像沒有觸發事件發生,除非所有if語句都啓動了Activity Five。 3)如果我把Activity Five放在任何Activity的Activity中,或者在Main Class中有任何參數,我會得到一個錯誤,說我不能從沒有Looper.prepare()的處理器開始活動。如果我將Looper.prepare()放入意圖調用方法中,那麼它會在我的startActivity(ActivityFive)調用中聲明空指針異常。
讓我嘗試和100%清楚這裏...
我不改變的意圖呼叫或startActivity()調用的。我唯一改變的是位置和周圍的限定符(如果語句)。出於某種原因,startActivity調用只有在我將其放入觸摸事件並且無論註冊表爲true的情況下啓動活動時才起作用。
我的其他活動都是從觸摸事件或彼此之間的平滑自動流動開始的。
活動五需要由兩種啓動:
1)如果語句外部觸摸事件處理程序:
if (object1.isGone)
{
...
ActivityFour aFour = new ActivityFour();
Intent aFive = new Intent (afour, ActivityFive.class)
aFour.startActivity(aFive);
}
if (!object1.isGone)
{
(do nothing)
}
2)或者,如果觸摸事件處理中的語句:
switch (screen.touchAction)
{
case screen.touch_Middle:
if (object1.isGone)
{
...
ActivityFour aFour = new ActivityFour();
Intent aFive = new Intent (afour, ActivityFive.class)
aFour.startActivity(aFive);
}
if (!object1.isGone)
{
(do nothing)
}
break;
感謝您的幫助,我一定會+1,並檢查解決這種瘋狂的答案。
什麼是'object1.isGone'? – Juanpe
visible = true vs visible = false。我能想到的最着名的例子是:如果玩家已經死了,就開始練習五。如果玩家沒有死,什麼也不做。 – ProgrammerInTraining