当我从一个意图转到另一个意图时,我收到了这个警告:
“窗口已经集中,无视焦点增益:com.android.internal.view.IInputMethodClient $ Stub $ Proxy”
并且视图保留旧的意图。
代码是:
btnCatalog.setOnClickListener(new OnClickListener() {
private ProgressDialog myProgressDialog;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myProgressDialog = ProgressDialog.show(introPage.this,
"Please wait...", "Doing Extreme Calculations...", true);
new Thread() {
public void run() {
try{
fetchAndStoreData();
Intent toMainPage = new Intent(introPage.this, mainPage.class);
startActivity(toMainPage);
sleep(5000);
} catch (Exception e) { }
myProgressDialog.dismiss();
}
}.start();
}
});
但是当我评论fetchandStoreData()方法时,意图移动到另一个意图。 fetchAndStoreData()方法正在读取文件中的XML读取数据,并将数据保存到SQLLite数据库中。
到目前为止,我不知道为什么会出现这种警告。需要紧急帮助
由于
答案 0 :(得分:5)
当在Manifest文件中未声明“mainPage”(启动意图)时,我遇到此错误
尝试添加:
< activity android:name =“。mainPage”/>
答案 1 :(得分:4)
另一种解决方案:检查正在打开的Activity的onCreate,onResume等方法。在我的例子中,我更改了一些代码,以便我的onCreate方法在方法结束之前调用this.finish();
。我猜你在做这种情况时会出现某种竞争状态,每当我打开我的Activity时,我会在logcat中得到同样的东西:
W/InputManagerService( 104): Window already focused,
ignoring focus gain of:
com.android.internal.view.IInputMethodClient$Stub$Proxy@46399630
修复正在打开的活动!如果您需要在打开后立即关闭活动,请找到其他方法来执行此操作;也许是通过runOnUiThread
方法,我不知道。
答案 2 :(得分:3)
我有一个不同的问题。我能够改变一次活动,但不能超过这个。我认为这是导航到第二个Intent.FLAG_ACTIVITY_NO_HISTORY
时使用Activity
并使用Activity.startActivity
返回第一个应用程序的组合。当我切换到使用Activity.finish()
离开第二个Activity
并返回第一个时,一切都开始变得更好了。
答案 3 :(得分:1)
昨天遇到了同样的问题,因为androidManifest.xml上的活动声明中有拼写错误,但即使修复了错误仍然存在。
重新启动Eclipse和模拟器后,我在控制台中收到了这条消息:一旦主要活动启动:
“模拟器:模拟器窗口不在视图中并且最近被发现”
并且发起了次要活动,没有问题。
答案 4 :(得分:0)
一些特殊的隐藏字符或manifest.xml中的一些。粘贴自另一个manifest.xml:
android:screenOrientation="landscape"
问题发生后,手动删除并输入。然后清洁,建立。并且工作。乐趣。