gpt4 book ai didi

android - Android Fragment 中的 EditText 值不刷新

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:20:23 29 4
gpt4 key购买 nike

我正在使用 Viewpager 在 3 个 fragments 之间切换,一切正常,除了刷新第二个选项卡(或 fragment).在这个选项卡中,我有一张图片、一些静态 Textviews、一些动态 TextViews 和一些 EditText 字段。

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

这是我的 fragment 的代码:

 @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 字段的内容吗?

最佳答案

我不确定,但请尝试 onResume() 并将您的文本设置为恢复状态。

或者试试

标签更改时的 Intent.FLAG_ACTIVITY_CLEAR_TOP。

关于android - Android Fragment 中的 EditText 值不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12987121/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com