繁体   English   中英

活动切换无法正常运行

[英]Activity switching not working android

我正在开发一个有两个活动的android应用程序。 一个是菜单屏幕,另一个是用户选择后实际使用的菜单屏幕。 第二个活动在工作线程中完成所有处理。 当我做出选择以继续进行第二个活动时,它将“闪烁”活动约100ms。 我发现一些日志,如果我知道它们的意思,它们似乎会告诉我需要修复的内容。

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 com.android.internal.view.IInputMethodClient$Stub$Proxy@45c0a198 (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);
        }
    });

inst保留了代码正在运行的活动的“ this”变量,因为我无法通过使用“ this”来引用它

这是我要切换到的活动的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>

有人对我缺少的东西有任何建议或知道吗?

谢谢

尼克·朗

将此更改为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM