Я могу создать Android AlertDialog вот так.Настройка макета для Android AlertDialog
AlertDialog.Builder MyDialog = new AlertDialog.Builder(this);
Но что важно для меня, как я могу установить макет для этого. Когда я использую Диалог Я могу инициализировать и установить макет как это.
dialog = new Dialog(Login.this,android.R.style.Theme_Holo_Dialog);
dialog.setContentView(R.layout.journey_details);
Могу ли я сделать что-то подобное для установки макета. Или в AlertDialog такая функциональность не существует.
Сначала я создал пользовательский диалог, и когда я устанавливаю время для текстового представления, он дал нулевой указатель. Вот почему я попробовал AlertDialog. Это мой первый код. Я не смог понять ошибку.
public void ShowJourneyDetails() {
dialog = new Dialog(Login.this,android.R.style.Theme_Holo_Dialog);
crnt_time=(TextView)findViewById(R.id.jd_txt_str_tim);
date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String crnt_date =date.format(new Date()).toString();
crnt_time.setText(crnt_date);
}
Это дало мне ошибку. Вот почему я попробовал AlertDialog.
Но мой AlterDialog также дает мне NullPointer, и ошибка исходит от кнопки. Мой код ниже
public void ShowJourneyDetails() {
// dialog = new Dialog(Login.this,android.R.style.Theme_Holo_Dialog);
final AlertDialog.Builder MyDialog = new AlertDialog.Builder(this);
LayoutInflater factory = LayoutInflater.from(Login.this);
final View DialogView = factory.inflate(R.layout.journey_details, null);
MyDialog.setView(DialogView);
LoginIntent = new Intent(Login.this, DropPickUp_List.class);
check_fuel = (CheckBox) findViewById(R.id.jd_chk_ful);
check_e_oil = (CheckBox) findViewById(R.id.jd_chk_eoil);
check_wtr = (CheckBox) findViewById(R.id.jd_chk_wtr);
check_b_oil = (CheckBox) findViewById(R.id.jd_chk_boil);
check_lic = (CheckBox) findViewById(R.id.jd_chk_lc_inc);
check_gt_pass = (CheckBox) findViewById(R.id.jd_chk_gt_ps);
check_bills = (CheckBox) findViewById(R.id.jd_chk_bil);
crnt_time = (TextView) findViewById(R.id.jd_txt_str_tim);
dialogButton = (Button) dialog.findViewById(R.id.jd_btn_strt);
MyDialog.setView(check_fuel);
MyDialog.setView(check_e_oil);
MyDialog.setView(check_wtr);
MyDialog.setView(check_b_oil);
MyDialog.setView(check_lic);
MyDialog.setView(check_gt_pass);
MyDialog.setView(check_bills);
MyDialog.setView(dialogButton);
MyDialog.setView(crnt_time);
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String crnt_date = date.format(new Date()).toString();
crnt_time.setText(crnt_date);
final Stack<String> ItemStack=new Stack();
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(Login.this, msg, Toast.LENGTH_LONG).show();
}
});
MyDialog.show();
}
Я не могу понять ошибку.
Вы хотите создать пользовательский AlertDialog, не так ли? – Tugrul
создать пользовательский диалог – jyomin