2012-02-29 4 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 

Сама программа не сбой, она просто возвращает меня в меню и снова отображает мои варианты. Вот код, я использую для переключения деятельности

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 его парень? –

+0

Это не сработает. Когда я пытаюсь, он не будет компилироваться. В этом случае переменная 'this' относится к моему OnItemClickListener, поэтому декларация uploadIntent не будет компилироваться. Затем, когда я изменил inst.startActivity (uploadIntent) на uploadIntent.startActivity(), он говорит, что метод не определен. – nick

+0

@nick Я изменяю свой ответ. Попробуйте это. Создайте свое название деятельности вместо your_current_activity. –

Смежные вопросы