2012-02-29 17 views
0

私は2つのアクティビティを持つアンドロイドアプリを開発中です。 1つはメニュー画面で、もう1つは選択したユーザーが実際に使用する画面です。 2番目のアクティビティは、すべての処理をワーカースレッドで行います。 2番目のアクティビティに移動するように選択すると、アクティビティが約100ms間 "点滅"します。彼らが何を意味しているか分かっていれば、修正する必要があることを教えてくれるようなログがいくつか見つかりました。アクティビティ切り替えが動作しない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 

プログラム自体はクラッシュではなく、メニュービューに戻って自分の選択肢を再度表示します。ここで私は私がここにこの「

を使用して、それを参照することができませんでしたので、研は、コードが実行されている活動の「この」変数を保持している

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); 
     } 
    }); 

活動を切り替えるために使用していたコードです

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()); 
    } 
} 

そして最後に、2つのアクティビティに関係しているマニフェストファイルの一部:活動ののonCreateは私がに切り替えるしようとしていますです。

<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が彼の男である理由を説明してください? –

+0

それは動作しません。私がそれを試みるとき、それはコンパイルされません。この場合、 'this'変数は自分のOnItemClickListenerを参照しているため、uploadIntentの宣言はコンパイルされません。次に、inst.startActivity(uploadIntent)をuploadIntent.startActivity()に変更したとき、メソッドが定義されていないことが示されます。 – nick

+0

@nick私は自分のanswer.pleaseを試してみてください。your_current_activityの代わりにあなたのアクティビティ名をつけてください。 –

関連する問題