你好,我有我的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隐形我怎么做?
1条答案
按热度按时间oug3syen1#
你的方法行不通。您无法访问
View
在一个Activity
从另一个Activity
. 更好的办法是MainActivity
发射ViewDialogStop
使用startActivityForResult()
. 那么ViewDialogStop
可以使用传回给的数据设置“结果”MainActivity
当它结束的时候。在MainActivity
你重写了吗onActivityResult()
(当ViewDialogStop
完成),您可以检查返回的“数据”,并在此基础上调用stopNow()
.