【问题标题】:Android refresh class ViewAndroid刷新类View
【发布时间】:2015-04-19 16:55:35
【问题描述】:

我正在使用库WeekView,我试图在单击按钮时刷新视图,但视图没有再次绘制。 我调用了 invalidate() 方法。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.elenco_, container, false);
    setHasOptionsMenu(true);
    getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mWeekView = (WeekView) rootView.findViewById(R.id.weekView);
mWeekView.setOnEventClickListener(this);
mWeekView.setEmptyViewClickListener(this);
mWeekView.setMonthChangeListener(this);
mWeekView.setEventLongPressListener(this);
--
--
btnAvanti.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) { 
            calendar.add(Calendar.DATE, 1);

            mWeekView.invalidate();

        }
    });

【问题讨论】:

  • 你怎么知道不是又画了?即使再次绘制视图,它们通常看起来也一样。
  • 我知道。我不会寻求帮助
  • 您更新的calendar 是否以任何方式绑定到WeekView?快速浏览一下库代码似乎表明您应该调用mWeekView.goToDate(calendar),假设您的目标是在周视图中显示特定的一天。

标签: android class view invalidation


【解决方案1】:

WeekView 类有一个可公开访问的方法,称为:notifyDatasetChanged();

如果您希望更改显示的数据,那么最好的选择就是调用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多