为了账号安全,请及时绑定邮箱和手机立即绑定

用Dialog类创建dialog后报dialog空指针,用private AlertDialog.Builder builder;可以

报错:

private ImageView mVoice;

private TextView mLable;

private Context mContext;

private Dialog dialog;


/** * 构造方法 传入上下文 */

public DialogManager(Context context) {

this.mContext = context;

}


// 显示录音的对话框

public void showRecordingDialog() {

dialog = new Dialog(mContext, R.style.Theme_AudioDialog);

LayoutInflater inflater = LayoutInflater.from(mContext);

View view = inflater.inflate(R.layout.dialog_recorder, null);

mVoice = (ImageView) view.findViewById(R.id.id_recorder_dialog_voice);

mLable = (TextView) view.findViewById(R.id.id_recorder_dialog_label);

dialog.setContentView(view);

dialog.show();//报空指针

不报错:

private AlertDialog.Builder builder;

private ImageView mVoice;

private TextView mLable;

private Context mContext;

private Dialog dialog;// 用于取消AlertDialog.Builder


/** * 构造方法 传入上下文 */

public DialogManager(Context context) {

this.mContext = context;

}


// 显示录音的对话框

public void showRecordingDialog() {

builder = new AlertDialog.Builder(mContext, R.style.Theme_AudioDialog);

LayoutInflater inflater = LayoutInflater.from(mContext);

View view = inflater.inflate(R.layout.dialog_recorder, null);

mVoice = (ImageView) view.findViewById(R.id.id_recorder_dialog_voice);

mLable = (TextView) view.findViewById(R.id.id_recorder_dialog_label);

builder.setView(view);

builder.create();

dialog = builder.show();

Window w=dialog.getWindow();

WindowManager.LayoutParams lp =w.getAttributes();

//显示位置

lp.x=1;

lp.y=3;

w.setAttributes(lp);


正在回答

1 回答

 style加上parent="@android:style/Theme.Translucent">解决

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-仿微信语音聊天
  • 参与学习       43200    人
  • 解答问题       220    个

结合自定义View和API,Dialog管理等实现实现微信语音

进入课程

用Dialog类创建dialog后报dialog空指针,用private AlertDialog.Builder builder;可以

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信