标签: illegalstateexception

使用FragmentPagerAdapter向左侧添加选项卡

这将是关于标签的最后一个问题,我保证:)(也许)所以从以前的问题和尝试和错误我有FragmentPagerAdapter调用PagerAdapter创建一些选项卡,并使我能够动态创建新选项卡.问题是新选项卡将始终插入到现有选项卡的右侧:

(图片: http://s7.directupload.net/file/d/3198/73dyzvzv_png.htm

我尝试了以下方法:

  1. 添加一个静态条目"null",在创建初始选项卡集时会跳过该条目.然后在创建"Temp Tab"时,我可以将该条目覆盖到我想要的任何片段.给了我一些奇怪的IllegalSTateException ...

  2. 我认为这将是最好的,实际上真的很想工作:而不是添加片段:

    private final List<Fragment> mFragments = new ArrayList<Fragment>();
    
    public void addFragment(Fragment fragment) {
        mFragments.add(fragment);
        notifyDataSetChanged();
    }
    
    Run Code Online (Sandbox Code Playgroud)

使用

mFragments.add(0, fragment);
Run Code Online (Sandbox Code Playgroud)

但它给出了一条带有消息的IllegalStateException:

Can't change tag of fragment ChatFragment
Run Code Online (Sandbox Code Playgroud)

当我尝试添加临时片段时.现在,有两个问题:

  1. 有没有办法绕过该片段选项卡,我可以暂时取走所有片段标签并重建它们全部或其他东西吗?要么

  2. 有没有更好,更优雅的方式来做到这一点?或者我应该重新设计我的UI,以便可以使用右侧的选项卡?:P

编辑:这里有一些代码:(我从不想把死亡之墙发给人们,因为它可能吓跑他们:o)

FragmentPagerAdapter:

public class PagerAdapter extends FragmentPagerAdapter {

  private Context mContext;

  public PagerAdapter(FragmentManager fm, Context context) {
    super(fm);
    mContext = context;
  }

  private final List<Fragment> mFragments = new ArrayList<Fragment>();
  public void addFragment(Fragment fragment) {
    mFragments.add(fragment);
    notifyDataSetChanged();
  }

  @Override
  public Fragment getItem(int position) {
    return mFragments.get(position); …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception fragmentpageradapter android-tabs

6
推荐指数
1
解决办法
1778
查看次数

java.lang.IllegalStateException:在除UI线程之外的另一个线程上调用View方法

当我尝试使用Android 4.4(Kit kat)在我的nexus 4上打开webview时,我会收到以下错误消息:

Calling View methods on another thread than the UI thread.; 
java.lang.IllegalStateException: Calling View methods on another thread than the UI thread.
com.android.webview.chromium.WebViewChromium.createThreadException(WebViewChromium.java:268)
Run Code Online (Sandbox Code Playgroud)

自从我更新到Android 4.4我的Nexus 4.

multithreading android illegalstateexception android-4.4-kitkat webviewchromium

6
推荐指数
2
解决办法
8012
查看次数

AutocompleteTextView 错误:IllegalStateException:适配器的内容已更改但 ListView 未收到通知

在 AutocompleteTextView 上取消或快速键入时,此类中出现 IllegalStateException 错误。我已经阅读了一些相关的内容,但我无法解决这个问题。任何人都可以更正我的代码?

提前感谢任何帮助!(对不起,我的英语不好)

这是完整的错误:

java.lang.IllegalStateException: The content of the adapter has changed but ListView did      not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(-1, class android.widget.ListPopupWindow$DropDownListView) with Adapter(class com.turkeys.planandgo.Activity.MapActivity$AutoComplete)]
Run Code Online (Sandbox Code Playgroud)

这是我的课:

public class AutoComplete extends ArrayAdapter<String> implements Filterable {
    private static final String LOG_TAG = "carEgiri";

    private static final String PLACES_API_BASE = "https://maps.googleapis.com/maps/api/place";
    private static final String TYPE_AUTOCOMPLETE = "/autocomplete";
    private …
Run Code Online (Sandbox Code Playgroud)

android autocompletetextview illegalstateexception

6
推荐指数
1
解决办法
1369
查看次数

java.lang.IllegalStateException:在onSaveInstanceState,FragmentTabHost之后无法执行此操作

MainActivity中包含FragmentTabHost,并且有五个片段添加到此FragmentTabHost中.这是init代码

protected void onCreate(Bundle savedInstanceState) {
        mFragmentManager = getSupportFragmentManager();
        mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
        mTabHost.setup(this, mFragmentManager, android.R.id.tabcontent);
        // Home
        mTabHost.addTab(
                mTabHost.newTabSpec(TAB_TAG_HOME).setIndicator(
                        newTabItem(R.drawable.mi_selector_tab_home,
                                R.string.mi_tab_item_milian)),
                TabFateFragment.class, null);

        // Serach
        mTabHost.addTab(
                mTabHost.newTabSpec(TAB_TAG_SEARCH).setIndicator(
                        newTabItem(R.drawable.mi_selector_tab_search,
                                R.string.mi_navi_title_search)),
                TabSearchFragment.class, null);

        // Msg
        mTabHost.addTab(
                mTabHost.newTabSpec(TAB_TAG_MSG).setIndicator(
                        newTabItem(R.drawable.mi_selector_tab_msg,
                                R.string.mi_navi_title_msg)),
                TabMsgFragment.class, null);

        // Nearby
        mTabHost.addTab(
                mTabHost.newTabSpec(TAB_TAG_NEARBY).setIndicator(
                        newTabItem(R.drawable.mi_selector_tab_nearby,
                                R.string.mi_navi_title_nearby)),
                TabNearbyFragment.class, null);

        // Me
        mTabHost.addTab(
                mTabHost.newTabSpec(TAB_TAG_ME).setIndicator(
                        newTabItem(R.drawable.mi_selector_tab_me,
                                R.string.mi_navi_title_me)),
                TabMeFragment.class, null);
       ......
}
Run Code Online (Sandbox Code Playgroud)

我读过这篇文章,在我的代码中找不到FragmentTransaction#commit().

我试过不在我的Activity.onSaveInstanceState(outState)中调用super.onSaveInstanceState(Bundle outState)

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        // super.onSaveInstanceState(outState);
    }
Run Code Online (Sandbox Code Playgroud)

这是崩溃日志

java.lang.IllegalStateException: Can not perform this action …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-fragments

6
推荐指数
1
解决办法
6411
查看次数

无法启动接收器com.google.firebase.iid.FirebaseInstanceIdInternalReceiver

我的应用程序集成了FCM以接收推送通知,它可以正常工作.但是,我面临的问题是,在安装时它会随机崩溃.它是非常随机的,发生在OS 6.0+设备上直到最新但随机发生.

代码方面,在服务类中只显示通知代码,并在清单中添加服务.

我在应用程序加载时遇到异常

Fatal Exception: java.lang.RuntimeException: Unable to start receiver com.google.firebase.iid.FirebaseInstanceIdInternalReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.firebase.INSTANCE_ID_EVENT pkg=com.xx.xx cmp=com.xx.xx/com.google.firebase.iid.FirebaseInstanceIdService (has extras) }: app is in background uid UidRecord{997e286 u0a92 RCVR idle procs:1 seq(0,0,0)}
       at android.app.ActivityThread.handleReceiver(ActivityThread.java:3259)
       at android.app.ActivityThread.-wrap17(Unknown Source)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1677)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6540)
       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)
Caused by java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.firebase.INSTANCE_ID_EVENT pkg=com.xx.xx cmp=com.xx.xx/com.google.firebase.iid.FirebaseInstanceIdService (has extras) }: app is in background uid UidRecord{997e286 u0a92 RCVR …
Run Code Online (Sandbox Code Playgroud)

android runtimeexception illegalstateexception firebase firebase-cloud-messaging

6
推荐指数
1
解决办法
5856
查看次数

后端 (JVM) 内部错误。为什么我会收到此 IDE 错误,而其他具有相同代码的人却不会?

我是在 Kotlin 中开发程序的小组的一员。我最近从开发分支中提取了新代码。问题是我收到了这个奇怪的错误。我是唯一得到它的人;我的队友有相同的代码,对他们来说运行良好。

我试过谷歌搜索错误。我没有找到任何帮助,因为它是一个非常具体的帮助。另外就像我说我的队友没有收到这个错误。因此它可能与代码无关。

我得到的错误是这样的:

Error:Kotlin: [Internal Error] java.lang.IllegalStateException: Backend Internal error: Exception during code generation
Cause: Back-end (JVM) Internal error: Error type encountered: [ERROR : For SuccessOrFailure] (ErrorType).
Cause: Error type encountered: [ERROR : For SuccessOrFailure] (ErrorType).
File being compiled at position: (32,28) in C:/Users/Gebruiker/Desktop/Repo/game/src/main/kotlin/nl/han/asd/a1/network/networkstates/EndRoundState.kt
The root cause was thrown at: KotlinTypeMapper.java:116
File being compiled at position: file://C:/Users/Gebruiker/Desktop/Repo/game/src/main/kotlin/nl/han/asd/a1/network/networkstates/EndRoundState.kt
The root cause was thrown at: ExpressionCodegen.java:322
    at org.jetbrains.kotlin.codegen.CompilationErrorHandler.lambda$static$0(CompilationErrorHandler.java:24)
    at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:74)
    at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generatePackage(CodegenFactory.kt:97)
    at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generateModule(CodegenFactory.kt:68)
    at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.doGenerateFiles(KotlinCodegenFacade.java:47)
    at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:39)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.generate(KotlinToJVMBytecodeCompiler.kt:446) …
Run Code Online (Sandbox Code Playgroud)

illegalstateexception kotlin

6
推荐指数
1
解决办法
6952
查看次数

片段已经添加,对话框片段?

我有一个显示良好的对话框片段,但有时当我尝试显示它时,我不断收到 IllegalStateException

下面是logcat

java.lang.IllegalStateException: Fragment already added: SelectPlan04Dialog{fa768dc #7 }
    at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1893)
    at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:760)
    at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2595)
    at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2382)
    at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2337)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:702)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:192)
    at android.app.ActivityThread.main(ActivityThread.java:6679)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)]
Run Code Online (Sandbox Code Playgroud)

这是我如何调用对话框的代码

if (selectPlan04Dialog == null) {
    selectPlan04Dialog = new SelectPlan04Dialog();
}
if (!selectPlan04Dialog.isVisible() && !selectPlan04Dialog.isAdded()) {
    Bundle b = new Bundle();
    b.putSerializable("moduleApi", module);
    selectPlan04Dialog.setArguments(b);                
    selectPlan04Dialog.show(getCurrentActivity().getSupportFragmentManager(), "");
}
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-fragments android-dialogfragment fragmentmanager

6
推荐指数
2
解决办法
5649
查看次数

SonarLint 抛出 IllegalStateException -&gt; 无法读取本地问题存储索引

我目前正在使用 Eclipse 和 Java 从事我的工作。我们应该使用 SonarLint 来获得一些更清晰的代码,直到昨天一切都很好。但是昨天早上,当我打开 Eclipse 时,SonarLint 向我抛出以下错误消息。

我已经在谷歌搜索过,删除了 .sonarlint 文件夹,还有 eclipse 的 settingsfolder 和 eclipse-workspace 内的 .sonarlint 文件夹。他们每个人都通过重新启动 eclipse 重新创建,但在这里没有任何帮助。我仍然收到错误:

Starting SonarLint for Eclipse 4.2.0.201909192007
SonarLint processing file /rap-server-core/src/main/java/com/rapidclipse/framework/server/ui/filter/FilterComponent.java...
Starting standalone SonarLint engine 4.2.0.201909192007...
Found 17 issue(s)
Error during execution of SonarLint analysis
java.lang.IllegalStateException: Failed to read local issue store index
    at org.sonarlint.eclipse.core.internal.tracking.StringStoreIndex.load(StringStoreIndex.java:55)
    at org.sonarlint.eclipse.core.internal.tracking.StringStoreIndex.keys(StringStoreIndex.java:45)
    at org.sonarlint.eclipse.core.internal.tracking.IndexedObjectStore.deleteInvalid(IndexedObjectStore.java:78)
    at org.sonarlint.eclipse.core.internal.tracking.IssueStore.<init>(IssueStore.java:62)
    at org.sonarlint.eclipse.core.internal.SonarLintCorePlugin.lambda$0(SonarLintCorePlugin.java:102)
    at org.sonarlint.eclipse.core.internal.tracking.IssueTrackerRegistry.newTracker(IssueTrackerRegistry.java:54)
    at org.sonarlint.eclipse.core.internal.tracking.IssueTrackerRegistry.getOrCreate(IssueTrackerRegistry.java:43)
    at org.sonarlint.eclipse.core.internal.SonarLintCorePlugin.getOrCreateIssueTracker(SonarLintCorePlugin.java:146)
    at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.trackIssues(AbstractAnalyzeProjectJob.java:317)
    at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.lambda$15(AbstractAnalyzeProjectJob.java:302)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
    at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.updateMarkers(AbstractAnalyzeProjectJob.java:302) …
Run Code Online (Sandbox Code Playgroud)

java eclipse analysis illegalstateexception sonarlint

6
推荐指数
1
解决办法
2643
查看次数

java.lang.IllegalStateException:无法构建唯一文件:/storage/emulated/0/Pictures Title image/jpeg Android 10(Samsung note 10+)

我正在使用以下代码从相机获取图像 uri

public static Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
    return Uri.parse(path);
}
Run Code Online (Sandbox Code Playgroud)

android image android-camera illegalstateexception android-10.0

6
推荐指数
2
解决办法
3798
查看次数

未连接.调用Connect或等待onConnected()被调用

我的应用程序是以地图为中心的.我requestLocationUpdates()经常打电话.有一段时间,我exception打电话给它.或者在任何其他称这种方法的地方.我看到SOF上提出的解决方案,遗憾的是似乎没有什么对我有用.即使我打电话mLocationClient.connect(),也无法保证它会立即连接,如果我错了,请纠正我.我该如何解决这个问题?

案例R.id.btnContinue:

gpsLocationDailog.cancel();

        int isGooglePlayServiceAvilable = GooglePlayServicesUtil
                .isGooglePlayServicesAvailable(getApplicationContext());
        if (isGooglePlayServiceAvilable == ConnectionResult.SUCCESS) {
            /** thorws shitty expectiosn **/
            mLocationClient.connect();
            try {
                mLocationClient.requestLocationUpdates(REQUEST, this);
                mCurrentLocation = mLocationClient.getLastLocation();
                fireQueryToGetTheResponse(latitude, longitude);
                rl.setVisibility(View.VISIBLE);
                mDrawerLayout.setVisibility(View.GONE);
                mSlidingUpPanelLayout.setVisibility(View.GONE);
            } catch (IllegalStateException e) {
                mLocationClient.connect();
                Log.e(TAG, " Waiting for onConnect to be called");
            }
        } else {
            GooglePlayServicesUtil.getErrorDialog(
                    isGooglePlayServiceAvilable,
                    SqueakeeMapListViewPager.this, 0).show();
        }

        break;
Run Code Online (Sandbox Code Playgroud)

这是引发的异常:

java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
at com.google.android.gms.internal.de.bc(Unknown Source)
at com.google.android.gms.internal.ez.a(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

android exception-handling illegalstateexception

5
推荐指数
2
解决办法
1万
查看次数