如何在android中设置按钮的可见性

lrl1mhuk  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(391)

你好,我有我的android应用程序小问题,我有两个类:mainactivity和viewdialogstop。

public class ViewDialogStop extends MainActivity{
public void showDialogStop(Activity activity){

    final Dialog dialog = new Dialog(activity);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setCancelable(false);
    dialog.setContentView(R.layout.dialog_stop);

    ImageButton dialogButtonDone = (ImageButton) dialog.findViewById(R.id.btn_done);
    ImageButton dialogButtonExit = (ImageButton) dialog.findViewById(R.id.btn_exit);
    dialogButtonExit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dialog.dismiss();
        }
    });

    dialogButtonDone.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Context ctx = v.getContext();
            stopNow(v);
        }
    });
    dialog.show();
}

}
在主要活动中

public void stopNow(View view){
Context ctx = view.getContext();
Toast toast = Toast.makeText(ctx,
                "This works!",
                Toast.LENGTH_SHORT);

        toast.show();

        stopBtn.setVisibility(View.INVISIBLE);

    }

但是每次我收到这个错误时:java.lang.nullpointerexception:尝试对空对象引用调用虚拟方法'android.content.pm.applicationinfo android.content.context.getapplicationinfo()'
吐司消息工作,但我需要设置stopbtn隐形我怎么做?

oug3syen

oug3syen1#

你的方法行不通。您无法访问 View 在一个 Activity 从另一个 Activity . 更好的办法是 MainActivity 发射 ViewDialogStop 使用 startActivityForResult() . 那么 ViewDialogStop 可以使用传回给的数据设置“结果” MainActivity 当它结束的时候。在 MainActivity 你重写了吗 onActivityResult() (当 ViewDialogStop 完成),您可以检查返回的“数据”,并在此基础上调用 stopNow() .

相关问题