Java 活动切换不起作用
我正在开发一个android应用程序,它有两个活动。一个是菜单屏幕,另一个是用户进行选择后实际使用的屏幕。第二个活动在工作线程中完成其所有处理。当我选择进入第二个活动时,它会“闪烁”该活动约100毫秒。我发现一些日志,如果我知道它们的意思,它们会告诉我需要修复什么Java 活动切换不起作用,java,android,multithreading,android-activity,Java,Android,Multithreading,Android Activity,我正在开发一个android应用程序,它有两个活动。一个是菜单屏幕,另一个是用户进行选择后实际使用的屏幕。第二个活动在工作线程中完成其所有处理。当我选择进入第二个活动时,它会“闪烁”该活动约100毫秒。我发现一些日志,如果我知道它们的意思,它们会告诉我需要修复什么 02-29 10:52:33.850: I/ActivityManager(1255): Starting activity: Intent { cmp=com.wcf.imageShare/.ImageShareActivity }
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);
}
});
最后是清单文件中与这两个活动有关的部分
<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>
有没有人有什么建议或知道我遗漏了什么
谢谢
Nick Long将此更改为:
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();
}
});
lstServers.setOnItemClickListener(新的OnItemClickListener()
{
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
Beacon.activeServer=位置;
Intent uploadIntent=新的Intent(您的当前活动,即ImageShareActivity.class);
uploadIntent.startActivity();
}
});
请解释为什么-1.他的人是谁?那不行。当我尝试时,它不会编译。在本例中,“this”变量引用我的OnItemClickListener,因此uploadIntent的声明不会编译。然后当我将inst.startActivity(uploadIntent)更改为uploadIntent.startActivity()时它说该方法未定义。@nick我修改了我的答案。请尝试一下。用你的“活动名称”代替你的“当前”活动。我发现我无法显示该活动超过0.1秒的原因是我没有为我的活动设置操作或附加项。我需要使用uploadIntent.setActivity()方法,并且还将额外内容从当前意图复制到新意图中。
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();
}
});