Android无效无效

时间:2012-07-09 14:45:21

标签: android android-view

我发现人们因无效而遇到麻烦的线程,因为他们不是在UI线程,调用睡眠等,但这不适用于我。来自onContextItemSelected的代码,在UI上运行,对吗?

case CUT_ID:
            if(ldb.hasRights(meta.vpath)){
                RelativeLayout importBar = (RelativeLayout)findViewById(R.id.import_bar);
                RelativeLayout editBar = (RelativeLayout)findViewById(R.id.edit_bar);
                importBar.setVisibility(View.GONE);
                editBar.setVisibility(View.VISIBLE);
                clipboardVPath = meta.vpath;
                ImageView thumbView = (ImageView) info.targetView.findViewById(R.id.thumbview);
                thumbView.setImageResource(R.drawable.cut);
                gridView.invalidate();

thumbView.setImageResource(R.drawable.cut);具有通过剪刀符号替换网格视图中的项目的期望效果。当我选择剪切另一个项目时出现问题。现在两者都有切割可绘制,而我只允许切割1个项目。我的自定义ThumnbnailAdapter中的getView中的这段代码应该保证我选择的第一个视图切换应该从数组thumbBitmaps恢复为位图:

if (thumbBitmaps.size() > position) {
                if(meta.vpath.equals(clipboardVPath)){
                    holder.img.setImageResource(R.drawable.cut);
                }else{
                    holder.img.setImageBitmap(thumbBitmaps.get(position));
                }   

            }

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

我需要的是adapter.notifyDataSetChanged(); 我想在invalidate上,gridview询问它们的孩子是否需要重绘,并且他们都回答否,因为他们认为他们的数据是最新的。这是我的猜测。