gpt4 book ai didi

java - 如何在显示 android 后更改自定义对话框中 View 的可见性

转载 作者:行者123 更新时间:2023-12-01 17:49:24 24 4
gpt4 key购买 nike

想要通过单击某些内容来更改线性布局的可见性 - 显示对话框后。确定点击方法正确。即使没有点击方法也行不通。可以做吗?示例:

    singleA.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
linearTYT.setVisibility(View.VISIBLE)

}else{

linearTYT.setVisibility(View.GONE)
}

}
});

它在对话框代码中。

最佳答案

Use LayoutInflator you might want to override AlertDialog's Button because it will dismiss() by default onClick()

    View view = getLayoutInflater().inflate(R.layout.your_inflated_layout, null);

final LinearLayout linearLayout = view.findViewById(R.id.your_linear);
// Now you can do whatever you want with LinearLayout

Dialog.OnShowListener showListener = new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialogInterface) {

View.OnClickListener hideListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
linearLayout.setVisibility(View.INVISIBLE);

}
};

View.OnClickListener unHideListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
linearLayout.setVisibility(View.VISIBLE);

// Hiding LinearLayout but this doesn't
// dismiss the dialog if you want
// call dialogInterface.dismiss();
}
};

// Overriding AlertDialog's Button because we don't want it
// to dismiss in every click
Button hide = ((AlertDialog) dialogInterface).getButton(AlertDialog.BUTTON_POSITIVE);
Button unhide = ((AlertDialog) dialogInterface).getButton(AlertDialog.BUTTON_NEGATIVE);
hide.setOnClickListener(hideListener);
unhide.setOnClickListener(unHideListener);
}
};

AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setView(view)
.setPositiveButton("Hide", null)
.setNegativeButton("Unhide", null);

AlertDialog dialog = builder.create();
dialog.setOnShowListener(showListener);
dialog.show();

关于java - 如何在显示 android 后更改自定义对话框中 View 的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52141450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com