Android - view.post()不是从BaseAdapter的getView()执行的

时间:2016-12-01 07:46:44

标签: android multithreading baseadapter

我查了一下,发现private class CustomAdapter extends BaseAdapter { @Override public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder holder; if (convertView == null) { convertView = getLayoutInflater().inflate(R.layout.m_view, parent, false); holder = new ViewHolder(convertView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } /* A LOT OF OTHER CODE*/ holder.itemView.post(new Runnable() { @Override public void run() { Log.d("TAG", "POST EXECUTED"); } }); return convertView; } } 如果你从UI线程以外的线程调用它并且视图没有附加到窗口,那么它将不起作用。但是我正在从UI线程调用它,正如你所看到的那样,视图肯定是附加的,但它仍然没有执行。

最奇怪的是,它确实在以前的版本中执行,但由于某种原因它不再起作用了。以前的版本和当前版本的代码没有变化。

以下是代码:

groupby

0 个答案:

没有答案