Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android片段中的EditText值不会刷新大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Viewpager在3个片段之间切换,一切正常,除了刷新第二个标签(或片段).在此选项卡中,我有一张图片,一些静态Textviews,一些动态TextView和一些EditText字段.

每次选择第二个选项卡时,都会在所有动态字段上调用setText(). TextView组件和微调器正在刷新并更新其内容,但EditText元素则不会.
我不明白为什么这些字段没有更新.更换标签后,我在TabsAdapter中调用notifiyDataSetChanged().每次我更改选项卡时都会调用onViewCreated().在第二个片段的onViewCreated()中,我正在更改元素的内容.

那是我片段的代码

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceStatE) {


    hA = (HelloAndroidActivity)this.getSherlockActivity();
    appState = ((TestApplication)this.getSherlockActivity().getApplicationContext());
    final PersistenceHelper pH = new PersistenceHelper(appStatE);
    m = pH.readMitarbeiter(toDisplay);

     // Inflate the layout for this fragment
    v = inflater.inflate(R.layout.detailfragment,container,falsE);

    if(m==null) {           
        //If Mitarbeiter is empty
        pH.closeDB();
        return v;
    }

    //InflaTing Elements

    employeename = (TextView)v.findViewById(R.id.employee_Name);
    cDate = (TextView)v.findViewById(R.id.department);
    currentPlace = (TextView)v.findViewById(R.id.place_label);

    comment_text = (EditText)v.findViewById(R.id.comment_text);
    reachable = (EditText)v.findViewById(R.id.reachable_text);
    state = (Spinner)v.findViewById(R.id.spinner_statE);
    durchwahl = (EditText)v.findViewById(R.id.durchwahl);
    department = (EditText)v.findViewById(R.id.department_edit);
    email = (EditText)v.findViewById(R.id.email_edit);

    img = (ImageView)v.findViewById(R.id.userPic);

    changeData = (Button)v.findViewById(R.id.changeButton);

    //SetTing Elements

    employeename.setText(m.getL_name());
    currentPlace.setText(m.getStatus());    



    comment_text.setText(m.getBemerkung());


    reachable.setText(m.getErreichbar());       

    email.setText(m.gets_name()+"");        
    durchwahl.setText(m.getDurchwahl()+"",TextView.bufferType.EDITABLE);


    department.setText(m.getFunktion(),TextView.bufferType.NORMAL);

    //Spinner

    String[] values = { "Anwesend","Mittagspause","Ausser Haus","Dienstreise","Krankenstand","Zeitausgleich","Urlaub","Abwesend" };
    ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this.getSherlockActivity(),android.R.layout.simple_spinner_item,values);
    state.setAdapter(spinnerArrayAdapter);

    state.setSELEction(StateMapper.returnState(m.getStatus()));

    //Image
    //.......
    return v;
}

正如我之前提到的,我的Image,TextView和Spinner Elements正在刷新它们的内容.我还检查了所有变量的内容,除了这些EditText元素外,一切似乎都很好.如果我将EditText元素转换为TextView,则内容正在改变(在代码中但不在GUI中).让我绝望的是,EditText在我第一次设置值时刷新.

有谁有想法,我怎么能刷新我的EditText字段的内容

解决方法

@H_301_16@ 我不确定但是尝试onResume()并将文本设置为恢复状态.

或尝试

选项卡更改上的Intent.FLAG_ACTIVITY_CLEAR_TOP.

大佬总结

以上是大佬教程为你收集整理的Android片段中的EditText值不会刷新全部内容,希望文章能够帮你解决Android片段中的EditText值不会刷新所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。