您好我正在开发我正在使用网格视图的Android应用程序。我想动态更新网格项。我的网格项包含一个标题文本。我试着这样做,但它不适合我。
((Activity)context).runOnUiThread(new Runnable()
{
public void run()
{
Debug.print("this is update progress inside thread ...");
owner.setText("Uploading...");
invalidate();
requestLayout();
}
});
所以在上面的代码中打印调试语句。但是不要更新网格项内的所有者文本。
我也试过了......
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
owner.setText("Uploading...");
}
};
handler.sendEmptyMessage(0);
答案 0 :(得分:0)
所以在上面的代码中打印调试语句。但不是更新我的 所有者文本在网格项目内。
我认为它的textview没有引用网格适配器中的项目。您可以在init和getTag()内部使用set标签来检查它,并使用runonUIThread方法。
让我们检查一下这个textview是本地变量还是全局变量。如果是全球性的,它只引用最后一项 - 然后检查最后一项更改? 好的,如果不是。让我们发布完整的代码。
答案 1 :(得分:0)
runOnUiThread(new Runnable() {
@Override
public void run() {
Debug.print("Updating UI ...");
owner.setText("Uploading ...");
invalidate();
requestLayout();
}
});
答案 2 :(得分:0)
尝试刷新用于加载网格项的适配器。 您可以使用 invalidateViews ()方法或 adapter.notifyDataSetChanged()
这有助于您解决问题。
快乐编码..
答案 3 :(得分:0)
检查您的代码中是否有任何可能阻塞 UI 的 Thread.sleep()。