2012-02-29 136 views
0

我正在研究一個有兩個活動的android應用程序。一個是菜單屏幕,另一個是用戶在做出選擇後實際使用的屏幕。第二個活動在工作線程中完成它的所有處理。當我選擇繼續進行第二個活動時,它會使活動「閃爍」大約100毫秒。我發現有些日誌看起來好像他們會告訴我我需要修復的東西,如果我知道他們的意思。活動切換不起作用android

02-29 10:52:33.850: I/ActivityManager(1255): Starting activity: Intent { cmp=com.wcf.imageShare/.ImageShareActivity } 
02-29 10:52:33.920: W/InputManagerService(1255): Starting input on non-focused client [email protected] (uid=10097 pid=24918) 
02-29 10:52:33.936: W/WindowManager(1255): No window to dispatch pointer action 
02-29 10:52:33.952: I/ActivityManager(1255): Displayed activity com.wcf.imageShare/.ImageShareActivity: 96 ms (total 96 ms) 
02-29 10:52:34.000: W/WindowManager(1255): No window to dispatch pointer action 1 

該程序本身沒有崩潰,它只是帶我回到menuview並再次顯示我的選擇。下面是我使用的切換,代碼中,因爲我跑步活動

lstServers.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     { 
      Beacon.activeServer = position; 
      Intent uploadIntent = new Intent(inst,ImageShareActivity.class); 
      inst.startActivity(uploadIntent); 
     } 
    }); 

研究所持有該活動的「這個」變量不能用「這個」

這裏引用它的代碼在活動的onCreate我想切換到:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    try 
    { 
     progBar = (ProgressBar)findViewById(R.id.progressbar_Horizontal); 
     tv = (TextView)findViewById(R.id.prog_txt); 
     btnCancel = (Button)findViewById(R.id.cancel); 
     btnCancel.setOnClickListener(new OnClickListener() 
     { 
      public void onClick(View arg0) 
      { 
       try { 
        uploaderThread.interrupt(); 
        Uploader.CancelUpload(); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
     uploaderThread.start(); 
    } 
    catch(Exception e) 
    { 
     Log.d("Uploader ERROR",e.getMessage()); 
    } 
} 

最後是有兩個活動辦清單文件的一部分。

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" android:debuggable="true"> 
     <activity 
     android:name=".ImageShareActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     </activity> 
     <activity android:name=".ServerChoiceActivity" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.SEND"/> 
       <data android:mimeType="image/*"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
     </activity> 
    </application> 

有沒有人有任何建議或知道我失蹤的東西?

感謝

尼克龍

回答

1

更改爲這樣:

lstServers.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     { 
      Beacon.activeServer = position; 
      Intent uploadIntent = new Intent(your_current_activty.this,ImageShareActivity.class); 
      uploadIntent.startActivity(); 
     } 
    }); 
+0

請解釋爲什麼-1.Who是他的傢伙? – 2012-02-29 18:32:28

+0

這不起作用。當我嘗試它不會編譯。在這種情況下,'this'變量指向我的OnItemClickListener,因此uploadIntent的聲明將不會被編譯。然後,當我將inst.startActivity(uploadIntent)更改爲uploadIntent.startActivity()時,它表示該方法未定義。 – nick 2012-02-29 18:32:32

+0

@nick我修改我的answer.please試試。給你的活動名稱代替your_current_activity – 2012-02-29 18:33:43