我有一个案例,例如我在 onCreateView()
中以编程方式创建自定义布局。例如:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return createLayout(cView);
}
View createLayout(View view) {
LinearLayout linLayout = new LinearLayout(activity);
linLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams linLayoutParam = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
linLayout.setLayoutParams(linLayoutParam);
for (int i = 0; i <= 3; i++) {
TextView tv = new TextView(activity);
tv.setId(i);
tv.setText("TextView");
tv.setLayoutParams(lpView);
linLayout.addView(tv);
}
view = linLayout;
return view;
}
@Override
public void onResume() {
super.onResume();
}
nah,我要问的是如何刷新具有onResume()
ID的textview
?谢谢。
您可以在hashmap中将您的文本视图保留在文本视图ID的键中。然后在你的简历上。您可以通过ID获得该文本视图并刷新它。
private HashMap<Integer,TextView> textViews = new HashMap<>();
在创建此textViews时,您需要将TextView放入HashMap中。
for (int i = 0; i <= 3; i++) {
TextView tv = new TextView(activity);
tv.setId(i);
tv.setText("TextView");
tv.setLayoutParams(lpView);
linLayout.addView(tv);
textViews.put(i,tv);
}
您的颜色方法应该看起来像
@Override
protected void onResume() {
super.onResume();
TextView tv = textViews.get(yourId);
tv.setText("Your Text");
}
make textView tv 作为全局,并照常更新此电视。