我有一个继承自视图的类。 (基本上它绘制了一个形状)。在我的主要活动中有一个按钮。 当我单击按钮创建一个继承自View的新类时,我就会绘制新的形状。但是在我的屏幕上发生了任何变化。
这是我的按钮点击事件;
btn1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mView.invalidate();
mView = new MyPen(getBaseContext(), null);
mView.SetValueOlcu(tvOlcu.getText().toString());
frmLayout.addView(mView,LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
frmLayout.refreshDrawableState();
frmLayout.buildLayer();
Toast.makeText(getBaseContext(), "", Toast.LENGTH_SHORT).show();
}
});
*我使用了refreshDrawableState();
,但没有任何变化。如何更新反映屏幕上最后更改的观点
答案 0 :(得分:0)
为什么在onClick中使用mView.invalidate()作为第一个命令,并且在创建新的MyPen对象之前?它没有任何意义。当您的视图已在您的布局中绘制并进行一些更改以重绘它时,您应该使用invalidate命令。您的视图可视化可能有问题?你的MyPen做了什么?