我在尝试生成已签名的APK时遇到此错误.问题是,我的应用程序能够在我的设备上正常运行和调试.我不知道为什么当我尝试生成APK时,出现了这个错误.如何忽略此错误并生成签名的APK?我正在使用Android Studio 1.2.1.1 for Mac.
我收到了这份崩溃报告:
java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:395)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:239)
at android.view.Window$LocalWindowManager.removeView(Window.java:441)
at android.app.Dialog.dismissDialog(Dialog.java:306)
at android.app.Dialog.access$000(Dialog.java:89)
at android.app.Dialog$1.run(Dialog.java:132)
at android.app.Dialog.dismiss(Dialog.java:296)
at ZhuangDictActivity$1.onPageFinished(ZhuangDictActivity.java:311)
at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:299)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4385)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
ZhuangDictActivity中的第311行是searchProgressDialog.dismiss(),如下所示:
public void onPageFinished(WebView view, String url) {
searchProgressDialog.dismiss();
onConfigurationChanged(ZhuangDictActivity.this.getResources().getConfiguration());
super.onPageFinished(view, url);
}
Run Code Online (Sandbox Code Playgroud)
这是ProgressDialog.show:
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
searchProgressDialog.setMessage("Loading");
searchProgressDialog.show();
super.onPageStarted(view, url, favicon);
}
Run Code Online (Sandbox Code Playgroud)
在WebView完成加载之前更改方向时发生崩溃.
我想修改的开源字典项目,其使用ActionBarSherlock SearchView$SearchAutoComplete.例如,我有一个名为"Google Play"的条目.该SearchView能够当我输入"谷歌",返回的建议,但如果我搜索"播放"事实并非如此.如何启用SearchView能够搜索包含文本的条目?
public boolean onQueryTextChange(String newText) {
if (MdxDictBase.isMdxCmd(newText)){
currentEntry.setEntryNo(DictEntry.kSystemCmdEntryNo);
}
if (!skipUpdateEntryList) {
dict.locateFirst(newText, true, true, true, false, currentEntry);
syncHeadwordList();
}
skipUpdateEntryList = false;
return true; //return false if want the system provide a suggestion list?
}
Run Code Online (Sandbox Code Playgroud)
完整的代码可以在这里找到.
这是Cursor我从这里找到的查询.
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
Log.d(TAG, "Got query:" + uri.toString());
if (uri.getPath() != null && uri.getPath().startsWith(SEARCH_PATH)) { …Run Code Online (Sandbox Code Playgroud) 我在Google Play控制台收到了此崩溃报告,这是我自己从未体验过的.
java.lang.IllegalArgumentException:
at android.widget.ListPopupWindow.setHeight (ListPopupWindow.java:541)
at android.widget.AutoCompleteTextView.setDropDownHeight (AutoCompleteTextView.java:414)
at .MyEditText.showDropDown (MyEditText.java:44)
at android.widget.AutoCompleteTextView.updateDropDownForFilter (AutoCompleteTextView.java:1086)
at android.widget.AutoCompleteTextView.onFilterComplete (AutoCompleteTextView.java:1068)
at android.widget.Filter$ResultsHandler.handleMessage (Filter.java:285)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:172)
at android.app.ActivityThread.main (ActivityThread.java:6637)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)
Run Code Online (Sandbox Code Playgroud)
我使用这种showDropDown方法从屏幕底部留下50 dp的空间,这样下拉菜单就不会覆盖我底部的Admob广告.
public void showDropDown() {
Rect displayFrame = new Rect();
getWindowVisibleDisplayFrame(displayFrame);
int[] locationOnScreen = new int[2];
getLocationOnScreen(locationOnScreen);
int bottom = locationOnScreen[1] + getHeight();
int availableHeightBelow = displayFrame.bottom - bottom;
Resources r = getResources();
int bannerHeight = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, …Run Code Online (Sandbox Code Playgroud) A 有一个DropdownButtonFormField显示长文本的项目之一。长文本能够在下拉菜单中以多行显示。
String _selectedState = '';
List<String> _stateList = ['a very very long long long long long text'];
DropdownButtonFormField<String>(
isExpanded: true,
value: _selectedState,
onChanged: (state) {
},
items: _stateList
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
),
Run Code Online (Sandbox Code Playgroud)
怎么解决这个问题呢?
我使用它在UITableView的页脚上显示Admob广告:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
GADBannerView *sampleView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
sampleView.hidden=true;
}
sampleView.adUnitID = @"myID";
sampleView.rootViewController = self;
[sampleView loadRequest:[GADRequest request]];
return sampleView;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 50.0;
}
Run Code Online (Sandbox Code Playgroud)
我没有真正的iPhone设备,所以我只在模拟器上测试它.如果软件键盘被隐藏并且我使用MacBook键盘输入了单词,则上面的代码可以正常工作.但是,当我在模拟器中打开软件键盘时,广告无法在页脚加载.相反,它会加载到搜索栏下方.我该怎么解决这个问题?我不知道这个错误是否也发生在真实设备中.

我在我的 Google Play Console 中收到了这个崩溃报告,我自己从未经历过,也无法重现。
java.lang.IllegalArgumentException:
at android.text.method.WordIterator.checkOffsetIsValid (WordIterator.java:380)
at android.text.method.WordIterator.isBoundary (WordIterator.java:101)
at android.widget.Editor$SelectionStartHandleView.positionAtCursorOffset (Editor.java:4300)
at android.widget.Editor$HandleView.updatePosition (Editor.java:3736)
at android.widget.Editor$PositionListener.onPreDraw (Editor.java:2513)
at android.view.ViewTreeObserver.dispatchOnPreDraw (ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2417)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1321)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6708)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:894)
at android.view.Choreographer.doCallbacks (Choreographer.java:696)
at android.view.Choreographer.doFrame (Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:880)
at android.os.Handler.handleCallback (Handler.java:815)
at android.os.Handler.dispatchMessage (Handler.java:104)
at android.os.Looper.loop (Looper.java:207)
at android.app.ActivityThread.main (ActivityThread.java:5728)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679)
Run Code Online (Sandbox Code Playgroud)
崩溃报告没有提到导致崩溃的类。我最好的猜测是遵循自定义TextView。
private void customTextView(TextView view) {
SpannableStringBuilder spanTxt = new SpannableStringBuilder(
Html.fromHtml(definition[0])); …Run Code Online (Sandbox Code Playgroud) 我有一个按照本教程创建的材料设计导航抽屉.
按下后退按钮时,应用程序退出.我想要做的是关闭背面的导航抽屉.这是原始代码:
drawerFragment = (FragmentDrawer)
getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
drawerFragment.setDrawerListener(this);
Run Code Online (Sandbox Code Playgroud)
我补充说:
public void onBackPressed() {
if (this.drawerFragment.isDrawerOpen(GravityCompat.START)) {
this.drawerFragment.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我得到错误无法解决方法isDrawerOpen和closeDrawer.
我怎样才能让它发挥作用?
我使用此代码将横幅广告放在左下方.
CGPoint origin = CGPointMake(0.0,
self.view.frame.size.height -
CGSizeFromGADAdSize(kGADAdSizeBanner).height);
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner
origin:origin];
Run Code Online (Sandbox Code Playgroud)
如何将横幅定位在底部中心?
这是我的WebActivity.class.我知道要加载特定的URL,我们必须使用:
webView.loadUrl("file:///android_asset/about.html");
Run Code Online (Sandbox Code Playgroud)
WebActivity.class从另一个活动中调用Intent.
Intent intent = new Intent(this, WebActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我想要做的是,是否有可能做出类似的事情:
webView.loadUrl(url);
Run Code Online (Sandbox Code Playgroud)
然后在我的另一个活动中,我将URL放在intent中,以便加载URL WebActivity.class?
Intent intent = new Intent(this, WebActivity.class);
url="file:///android_asset/about.html";
startActivity(intent);
Run Code Online (Sandbox Code Playgroud) android ×7
admob ×2
ios ×2
objective-c ×2
dart ×1
flutter ×1
iphone ×1
searchview ×1
textview ×1
uitableview ×1