Android 如何处理反压函数的异常

Android 如何处理反压函数的异常,android,Android,我想将城市数组从列表活动返回到主活动。单击“上一步”,将调用BackPressed fucniton。我收到以下例外情况。请帮忙解决这个问题。我不明白为什么会出现异常 04/21 20:50:42: Launching 'app' on Pixel_3a_API_30_x86. Install successfully finished in 1 s 36 ms. $ adb shell am start -n "com.example.worldclocktest/com.exam

我想将城市数组从列表活动返回到主活动。单击“上一步”,将调用BackPressed fucniton。我收到以下例外情况。请帮忙解决这个问题。我不明白为什么会出现异常


04/21 20:50:42: Launching 'app' on Pixel_3a_API_30_x86.
Install successfully finished in 1 s 36 ms.
$ adb shell am start -n "com.example.worldclocktest/com.example.worldclocktest.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.example.worldclocktest | com.example.worldclocktest.test
Waiting for application to come online: com.example.worldclocktest | com.example.worldclocktest.test
Connected to process 11980 on device 'emulator-5554'.
Connecting to com.example.worldclocktest
Connected to the target VM, address: 'localhost:49972', transport: 'socket'
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/.worldclocktes: Not late-enabling -Xcheck:jni (already on)
I/.worldclocktes: Unquickening 12 vdex files!
W/.worldclocktes: Unexpected CPU variant for X86 using defaults: x86
W/ActivityThread: Application com.example.worldclocktest is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
I/System.out: Debugger has connected
    waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/chatty: uid=10153(com.example.worldclocktest) identical 3 lines
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1402)
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
D/libEGL: loaded /vendor/lib/egl/libEGL_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv1_CM_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv2_emulation.so
W/.worldclocktes: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
W/.worldclocktes: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
D/CompatibilityChangeReporter: Compat change id reported: 147798919; UID 10153; state: ENABLED
D/HostConnection: HostConnection::get() New Host Connection established 0xf07622f0, tid 12035
D/HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_async_frame_commands ANDROID_EMU_gles_max_version_2 
W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
D/EGL_emulation: eglCreateContext: 0xf0760680: maj 2 min 0 rcv 2
D/EGL_emulation: eglMakeCurrent: 0xf0760680: ver 2 0 (tinfo 0xf0aa4890) (first time)
I/Gralloc4: mapper 4.x is not supported
D/HostConnection: createUnique: call
D/HostConnection: HostConnection::get() New Host Connection established 0xf0760b50, tid 12035
D/goldfish-address-space: allocate: Ask for block of size 0x100
    allocate: ioctl allocate returned offset 0x3fddf7000 size 0x2000
D/HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_async_unmap_buffer ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_async_frame_commands ANDROID_EMU_gles_max_version_2 
I/OpenGLRenderer: Davey! duration=913ms; Flags=1, IntendedVsync=9353286500214, Vsync=9353303166880, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=9353318462900, AnimationStart=9353318563300, PerformTraversalsStart=9353318708000, DrawStart=9353916831300, SyncQueued=9354023196600, SyncStart=9354026808400, IssueDrawCommandsStart=9354027022900, SwapBuffers=9354179353500, FrameCompleted=9354203513900, DequeueBufferDuration=714400, QueueBufferDuration=2396600, GpuCompleted=0, 
I/Choreographer: Skipped 71 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer: Davey! duration=1272ms; Flags=0, IntendedVsync=9353369863458, Vsync=9354553196744, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=9354567730700, AnimationStart=9354567812200, PerformTraversalsStart=9354571817900, DrawStart=9354604811700, SyncQueued=9354619337800, SyncStart=9354621066800, IssueDrawCommandsStart=9354621260400, SwapBuffers=9354622663000, FrameCompleted=9354643884500, DequeueBufferDuration=1351500, QueueBufferDuration=2212000, GpuCompleted=0, 
I/Choreographer: Skipped 73 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer: Davey! duration=4166ms; Flags=1, IntendedVsync=9359186532522, Vsync=9360403199140, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=9360407707800, AnimationStart=9360407990300, PerformTraversalsStart=9360419610500, DrawStart=9363110900400, SyncQueued=9363224237300, SyncStart=9363247164400, IssueDrawCommandsStart=9363249208500, SwapBuffers=9363361606000, FrameCompleted=9363376311800, DequeueBufferDuration=782000, QueueBufferDuration=2923300, GpuCompleted=0, 
I/Choreographer: Skipped 170 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer: Davey! duration=2967ms; Flags=0, IntendedVsync=9360586458070, Vsync=9363419791290, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=9363435071400, AnimationStart=9363435164200, PerformTraversalsStart=9363436271200, DrawStart=9363465840400, SyncQueued=9363521938100, SyncStart=9363523985500, IssueDrawCommandsStart=9363524279700, SwapBuffers=9363535387100, FrameCompleted=9363555823300, DequeueBufferDuration=1682200, QueueBufferDuration=1067900, GpuCompleted=0, 
I/OpenGLRenderer: Davey! duration=3043ms; Flags=0, IntendedVsync=9360586458070, Vsync=9363419791290, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=9363435071400, AnimationStart=9363435164200, PerformTraversalsStart=9363436271200, DrawStart=9363541980500, SyncQueued=9363604908500, SyncStart=9363613891500, IssueDrawCommandsStart=9363614201100, SwapBuffers=9363618016700, FrameCompleted=9363638905300, DequeueBufferDuration=1559100, QueueBufferDuration=16988700, GpuCompleted=0, 
E/InputEventSender: Exception dispatching finished signal.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: java.lang.RuntimeException: Parcel: unable to marshal value com.example.worldclocktest.City@b72de91
        at android.os.Parcel.writeValue(Parcel.java:1885)
        at android.os.Parcel.writeList(Parcel.java:1092)
        at android.os.Parcel.writeValue(Parcel.java:1832)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
        at android.os.Bundle.writeToParcel(Bundle.java:1303)
        at android.os.Parcel.writeBundle(Parcel.java:1044)
        at android.content.Intent.writeToParcel(Intent.java:10855)
        at android.app.IActivityTaskManager$Stub$Proxy.finishActivity(IActivityTaskManager.java:4260)
        at android.app.Activity.finish(Activity.java:6376)
        at android.app.Activity.finish(Activity.java:6412)
        at android.app.Activity.finishAfterTransition(Activity.java:6469)
        at android.app.Activity.onBackPressed(Activity.java:3833)
        at androidx.activity.ComponentActivity.access$001(ComponentActivity.java:50)
        at androidx.activity.ComponentActivity$1.run(ComponentActivity.java:72)
        at androidx.activity.OnBackPressedDispatcher.onBackPressed(OnBackPressedDispatcher.java:194)
        at androidx.activity.ComponentActivity.onBackPressed(ComponentActivity.java:286)
        at com.example.worldclocktest.ListActivity.onBackPressed(ListActivity.java:90)
        at android.app.Activity.onKeyUp(Activity.java:3784)
        at android.view.KeyEvent.dispatch(KeyEvent.java:2866)
        at android.app.Activity.dispatchKeyEvent(Activity.java:4090)
        at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:122)
        at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84)
        at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:140)
        at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:569)
        at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
        at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3054)
        at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:390)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5947)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5815)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5310)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5485)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5542)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5518)
        at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:5676)
        at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3179)
        at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2721)
        at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2712)
        at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3156)
        at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:143)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.worldclocktest, PID: 11980
    java.lang.RuntimeException: Parcel: unable to marshal value com.example.worldclocktest.City@b72de91
        at android.os.Parcel.writeValue(Parcel.java:1885)
        at android.os.Parcel.writeList(Parcel.java:1092)
        at android.os.Parcel.writeValue(Parcel.java:1832)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
        at android.os.Bundle.writeToParcel(Bundle.java:1303)
        at android.os.Parcel.writeBundle(Parcel.java:1044)
        at android.content.Intent.writeToParcel(Intent.java:10855)
        at android.app.IActivityTaskManager$Stub$Proxy.finishActivity(IActivityTaskManager.java:4260)
        at android.app.Activity.finish(Activity.java:6376)
        at android.app.Activity.finish(Activity.java:6412)
        at android.app.Activity.finishAfterTransition(Activity.java:6469)
        at android.app.Activity.onBackPressed(Activity.java:3833)
        at androidx.activity.ComponentActivity.access$001(ComponentActivity.java:50)
        at androidx.activity.ComponentActivity$1.run(ComponentActivity.java:72)
        at androidx.activity.OnBackPressedDispatcher.onBackPressed(OnBackPressedDispatcher.java:194)
        at androidx.activity.ComponentActivity.onBackPressed(ComponentActivity.java:286)
        at com.example.worldclocktest.ListActivity.onBackPressed(ListActivity.java:90)
        at android.app.Activity.onKeyUp(Activity.java:3784)
        at android.view.KeyEvent.dispatch(KeyEvent.java:2866)
        at android.app.Activity.dispatchKeyEvent(Activity.java:4090)
        at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:122)
        at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84)
        at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:140)
        at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:569)
        at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
        at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3054)
        at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:390)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5947)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5815)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5310)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5485)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5542)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5518)
        at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:5676)
        at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3179)
        at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2721)
        at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2712)
        at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3156)
        at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:143)
E/AndroidRuntime:     at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
I/Process: Sending signal. PID: 11980 SIG: 9
Disconnected from the target VM, address: 'localhost:49972', transport: 'socket'
以下是我的ListACtivity代码:

package com.example.worldclocktest;

import ...

public class ListActivity extends AppCompatActivity {

    ArrayList<City> cities;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        showMessage("List Activity Created");


        cities = new ArrayList<City>();
        create_City_list();
        create_View();
    }




    private void showMessage(String message) {
        Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG);
        toast.show();
    }

    private void create_City_list() {
        City city1 = new City("Lahore","8:00pm");
        City city2 = new City("Karachi","7:00pm");
        City city3 = new City("Islamabad","9:00pm");
        City city4 = new City("NewYork","10:00pm");
        City city5 = new City("Istanbul","11:00pm");
        City city6 = new City("Venus","2:00pm");
        City city7= new City("San Francisco","3:00pm");
        City city8 = new City("London","8:00pm");
        City city9 = new City("Belgium","5:00pm");
        City city10 = new City("Delhi","9:00pm");
        City city11 = new City("Multan","10:00pm");
        City city12 = new City("Toronto","9:00pm");
        City city13 = new City("Dubai","1:00pm");
        City city14 = new City("Singapore","4:00pm");
        City city15 = new City("Moscow","7:00pm");
        cities.add(city1);
        cities.add(city2);
        cities.add(city3);
        cities.add(city4);
        cities.add(city5);
        cities.add(city6);
        cities.add(city7);
        cities.add(city8);
        cities.add(city9);
        cities.add(city10);
        cities.add(city11);
        cities.add(city12);
        cities.add(city13);
        cities.add(city14);
        cities.add(city15);

    }

    private void create_View() {
        setContentView(R.layout.activity_list);

        ListView view = (ListView) findViewById(R.id.view_list);
        CityListAdapter adapter= new CityListAdapter(this,R.layout.adapter_view,cities);
        view.setAdapter(adapter);

        Attach_Text_Listener(adapter);
    }

    @Override
    public void onBackPressed() {
        showMessage("Back Pressed");
        Intent intent = new Intent();
        intent.putExtra("list",cities);
        setResult(RESULT_OK, intent);
        super.onBackPressed();
    }



    

}

package com.example.worldclocktest;
导入。。。
公共类ListActivity扩展了AppCompatActivity{
阵列式城市;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
showMessage(“创建的列表活动”);
城市=新阵列列表();
创建城市列表();
创建_视图();
}
私有void showMessage(字符串消息){
Toast Toast=Toast.makeText(这个,消息,Toast.LENGTH\u LONG);
toast.show();
}
私有void创建城市列表(){
城市1=新城(“拉合尔”,“晚上8:00”);
城市2=新城(“卡拉奇”,“下午7:00”);
城市3=新城(“伊斯兰堡”,“晚上9:00”);
City city4=纽约(“纽约”,“晚上10:00”);
城市5=新城(“伊斯坦布尔”,“晚上11:00”);
城市6=新城(“维纳斯”,“下午2:00”);
City city7=新城(“旧金山”,“下午3:00”);
City city8=新城(“伦敦”,“晚上8:00”);
城市9=新城(“比利时”,“下午5:00”);
城市10=新市(“德里”,“晚上9:00”);
城市11=新城(“木尔坦”,“晚上10:00”);
城市12=新城(“多伦多”,“晚上9:00”);
城市13=新城(“迪拜”,“下午1:00”);
城市14=新城(“新加坡”,“下午4:00”);
城市15=新城(“莫斯科”,“下午7:00”);
城市。添加(城市1);
城市。添加(城市2);
城市。添加(城市3);
城市。添加(城市4);
城市。添加(城市5);
城市。添加(城市6);
城市。添加(城市7);
城市。添加(城市8);
城市。添加(城市9);
城市。添加(城市10);
城市。添加(城市11);
城市。添加(城市12);
城市。添加(城市13);
城市。添加(城市14);
城市。添加(城市15);
}
私有void创建_视图(){
setContentView(R.layout.activity_列表);
ListView视图=(ListView)findViewById(R.id.view\u列表);
CityListAdapter=新的CityListAdapter(这个,R.layout.adapter\u视图,城市);
view.setAdapter(适配器);
附加文本侦听器(适配器);
}
@凌驾
public void onBackPressed(){
showMessage(“反压”);
意图=新意图();
意向。putExtra(“列表”,城市);
设置结果(结果正常,意图);
super.onBackPressed();
}
}
以下是主要活动代码。在OnActvityResult()函数中,请求代码与请求代码不匹配

package com.example.worldclocktest;

import ...

public class MainActivity extends AppCompatActivity{


    ArrayList<City> selected_cities;
    ArrayList<City> cities;
    final int REQUEST_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        showMessage("Created");
    }
    private void showMessage(String message) {
        Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG);
        toast.show();
    }
    public void buttonClick(View v)
    {
        if (v.getId() == R.id.button_list) {
            showMessage("buttonClicked");
            list_cities();
        }
    }
    public void list_cities()
    {

        showMessage("city_list");
        Intent intent = new Intent(this, ListActivity.class);
        startActivityForResult(intent,REQUEST_CODE);

    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        showMessage("Activity Result");
        //cities = new ArrayList<City>();
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == REQUEST_CODE){
            if (resultCode == RESULT_OK) {

                cities = (ArrayList<City>) data.getSerializableExtra("list");
                showMessage("Selected cities");

                /*if (cities.size()!= 0) {

                    //addselectedcities();
                   // CreateListView();
                }*/
            }else {
                showMessage("Result Code Problem");
            }
        }
        else {
            showMessage("Request Code Problem");
        }

    }
    private void addselectedcities() {
        selected_cities = new ArrayList<City>();
        if(selected_cities.size()!=0) {
            selected_cities.clear();
        }
        for(int i=0;i<cities.size();i++) {
            if(cities.get(i).isImportant()== true) {
                selected_cities.add(cities.get(i));

            }
        }
    }
}

package com.example.worldclocktest;
导入。。。
公共类MainActivity扩展了AppCompatActivity{
ArrayList选定的城市;
阵列式城市;
最终int请求_代码=1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showMessage(“已创建”);
}
私有void showMessage(字符串消息){
Toast Toast=Toast.makeText(这个,消息,Toast.LENGTH\u LONG);
toast.show();
}
公共无效按钮单击(视图v)
{
if(v.getId()==R.id.button\u列表){
显示消息(“按钮点击”);
列出城市();
}
}
公共作废清单(城市)
{
showMessage(“城市列表”);
Intent Intent=新的Intent(这个,ListActivity.class);
startActivityForResult(意图、请求代码);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
showMessage(“活动结果”);
//城市=新阵列列表();
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==请求\代码){
if(resultCode==RESULT\u OK){
cities=(ArrayList)data.getSerializableExtra(“列表”);
showMessage(“选定城市”);
/*如果(cities.size()!=0){
//添加选定城市();
//CreateListView();
}*/
}否则{
showMessage(“结果代码问题”);
}
}
否则{
showMessage(“请求代码问题”);
}
}
私有void addselectedcities(){
所选城市=新阵列列表();
如果(选定城市。大小()!=0){
所选城市。清除();
}

对于(int i=0;iCity类可序列化吗?如果不可序列化,它将不会序列化并在运行时抛出错误。让City类实现可序列化接口,它应该可以工作

这是否回答了您的问题?