我必须构建一个自定义对话框,在更改内容视图时更新视图。
在下面的示例中,我有两个TextView
,一个在主活动中,一个在对话框布局中,计数器从1到10应显示在两个(主活动布局和对话框布局)上,但只有{主要活动中的{1}}是更新。
代码:
TextView
问题是 - 如何更新TextView tvCounter_Dialog, tvCounter_OutsideDialog;
int counter = 0;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_custom_dialog);
handler = new Handler();
View dialogView = getLayoutInflater().inflate(R.layout.dialog_live_layout, null);
tvCounter_Dialog = (TextView) dialogView.findViewById(R.id.tvCounter);
tvCounter_OutsideDialog = (TextView) findViewById(R.id.tvCounter_outsideDialog);
Dialog counterDialog = new Dialog(this);
counterDialog.setContentView(R.layout.dialog_live_layout);
counterDialog.show();
final Runnable updatedr = new Runnable() {
@Override
public void run() {
counter = (counter + 1) % 10;
tvCounter_Dialog.setText(String.valueOf(counter));
tvCounter_OutsideDialog.setText(String.valueOf(counter));
handler.postDelayed(this, 500);
}
};
updatedr.run();
}
中的textview
?
编辑:这是一个捕获(更清楚)
答案 0 :(得分:1)
错误就在这一行
counterDialog.setContentView(R.layout.dialog_live_layout);
应该是
counterDialog.setContentView(dialogView);
在你的版本中,对话框的自定义视图和你膨胀的视图是不同的