-1

Android コードをランダムに実行しているときに、サポートされていない操作の例外が発生します。この例外がスローされると、アプリケーションがクラッシュします。同じ を処理する方法と、この EXCEPTION がスローされる基本的な原因は何ですか。

例 1:

@Override
public View getSelectedView() {
    throw new UnsupportedOperationException("Not supported");
}

例 2:

@Override
public void onBackPressed() {

    if(slideContent.getVisibility()==View.VISIBLE)
        slideContent.setVisibility(View.GONE);
    if(searchAutoCompleteText.getText().toString().length()>0)
        searchAutoCompleteText.setText("");
    else{
        super.onBackPressed();
    }
}

LogCat:

java.lang.UnsupportedOperationException
com.artifex.mupdfdemo.ReaderView.getSelectedView(ReaderView.java:751)
android.widget.AdapterView.onInitializeAccessibilityEvent(AdapterView.java:1014)
android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5150)
android.view.View.sendAccessibilityEventUnchecked(View.java:5135)
android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.run(ViewRootImpl.java:7463)
android.os.Handler.handleCallback(Handler.java:733)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:157)
android.app.ActivityThread.main(ActivityThread.java:5335)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
dalvik.system.NativeStart.main(Native Method)

上記は、UNSUPPORTEDOperationException とアプリケーション クラッシュが発生するいくつかのシナリオです。誰かが同じことを知っているなら、根本的な原因を教えてください。

4

1 に答える 1

6

の代わりに null を返すUnsupportedOperationException

@Override
public View getSelectedView() {
    //throw new UnsupportedOperationException(getContext().getString(R.string.not_supported));
        return null;
}

これをチェック

于 2015-03-01T12:16:01.720 に答える