Java 从活动调用方法时未更新片段UI

Java 从活动调用方法时未更新片段UI,java,android,user-interface,android-fragments,android-activity,Java,Android,User Interface,Android Fragments,Android Activity,我有一个活动类CreateEventPage,它基本上调用onCreate方法中的一个片段,该方法加载表单以创建事件。按下特定按钮时,将调用showMapFragment()方法,该方法使用MyMapFragment对象替换该片段(扩展片段类) CreateEventPage类如下所示: public class CreateEventPage extends FragmentActivity implements MapLongPressListener { private Crea

我有一个活动类CreateEventPage,它基本上调用onCreate方法中的一个片段,该方法加载表单以创建事件。按下特定按钮时,将调用showMapFragment()方法,该方法使用MyMapFragment对象替换该片段(扩展片段类)

CreateEventPage类如下所示:

public class CreateEventPage extends FragmentActivity implements 
MapLongPressListener {
    private CreateEventFragment eventFragment;
    private MyMapFragment mapFragment;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragmentcontainer);
        eventFragment = new CreateEventFragment();
        getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, eventFragment).commit();
        // Check whether the activity is using the layout version with
        // the fragment_container FrameLayout. If so, we must add the first fragment
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.create_event_page, menu);
        return true;
    }
    public void showTimePickerDialog(View v) {
        DialogFragment newFragment = new TimePickerFragment();
        newFragment.show(getSupportFragmentManager(), "timePicker");
    }

    public void showDatePickerDialog(View v) {
        DialogFragment newFragment = new DatePickerFragment();
        newFragment.show(getSupportFragmentManager(), "datePicker");
    }
    public void showMapFragment(View v) {

            // If the frag is not available, we're in the one-pane layout and must swap frags...
            // Create fragment and give it an argument for the selected article

            mapFragment = new MyMapFragment();
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

            transaction.replace(R.id.fragment_container, mapFragment);
            transaction.addToBackStack(null);

            transaction.commit();
    }
    @Override
    public void MapLongPressed(String locationAddress, double latitude, double longitude) {

        FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
        trans.replace(R.id.fragment_container, eventFragment).commit();
        eventFragment.initPositions(locationAddress, latitude, longitude);

    }

}
当调用eventFragment对象的initPositions方法时,我会尝试更新EditText对象的文本字段。但是,UI不会得到更新。我也尝试过在UI线程上运行该方法,但仍然没有更新。view是一个全局变量,它存储片段的onCreateView方法返回的view对象。initPositions方法如下所示:

public void initPositions( String address,  double lat, double longi) {
                EditText location = (EditText) view.findViewById(R.id.LocationText);
                latitude = lat;
                longitude = longi;
                location.setText(address);
                Log.i("Init Positions", address);
                Log.i("Init Positions", ""+latitude);
                Log.i("Init Positions", ""+longitude);
                Log.i("Init Positions", inputLocation.getText().toString());
                }
然而,尽管如此,即使日志按照我的要求打印正确的值,UI也不会得到更新。你能告诉我我做错了什么吗


谢谢,Rohit

位置当前在屏幕上吗?@blackbelt是的,我可以在我的屏幕上看到位置编辑文本字段。你解决过这个问题吗?