窗口已经聚焦

时间:2011-08-13 04:49:49

标签: android

我搜索了这样的其他帖子,但我找不到解决方案。 当我从菜单中选择首选项时,任何人都知道我收到此消息的原因:

窗口已经集中,无视焦点增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@44eb7370

活动在清单文件中声明。

import com.cartrafficlive.R;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;

public class ShowMap extends MapActivity{

    static final private int MENU_PREFERENCES = Menu.FIRST;
    private static final int SHOW_PREFERENCES = 1;

    MapController mapController;

    String depAdd;
    String arrAdd;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show_map);

        MapView myMapView = (MapView)findViewById(R.id.myMapView);
        mapController = myMapView.getController();

        myMapView.setSatellite(true);
        myMapView.setStreetView(true);
        myMapView.displayZoomControls(true);

        mapController.setZoom(17);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        super.onCreateOptionsMenu(menu);

        menu.add(0, MENU_PREFERENCES, Menu.NONE, R.string.menu_preferences);

        return true;
    }

    public boolean onOptionItemSelected(MenuItem item){
        super.onOptionsItemSelected(item);

        switch(item.getItemId()){
            case(MENU_PREFERENCES): {
                Intent i = new Intent(this, Preferences.class);
                startActivityForResult(i, SHOW_PREFERENCES);

                return true;
            }
        }
        return false;
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);

      if (requestCode == SHOW_PREFERENCES)
        if (resultCode == Activity.RESULT_OK) {
          updateFromPreferences();
        } 
    }

    private void updateFromPreferences() {
        Context context = getApplicationContext();
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);

        depAdd = prefs.getString(Preferences.PREF_DEP_ADD, "null");
        arrAdd = prefs.getString(Preferences.PREF_ARR_ADD, "null");
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

}

1 个答案:

答案 0 :(得分:0)

我用这行代码解决了:

menu.addIntentOptions(Menu.NONE, Menu.NONE, Menu.NONE, this.getComponentName(), null, i, Menu.NONE, null);