Saya mencoba membuat kotak edittext di kotak dialog untuk memasukkan kata sandi. dan ketika saya melakukan saya tidak bisa melakukan. Saya seorang pemula di dalamnya. Tolong bantu saya dalam hal ini.
public class MainActivity extends Activity {
Button create, show, setting;
//String pass="admin";String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
create = (Button)findViewById(R.id.amcreate);
setting = (Button)findViewById(R.id.amsetting);
show = (Button)findViewById(R.id.amshow);
//input = (EditText)findViewById(R.id.this);
setting.setVisibility(View.INVISIBLE);
create.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent1 = new Intent(view.getContext(), Create.class);
startActivityForResult(myIntent1, 0);
}
});
show.setOnClickListener(new View.OnClickListener() {
//@SuppressWarnings("deprecation")
public void onClick(final View view) {
// Creating alert Dialog with one Button
AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
//AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
// Setting Dialog Title
alertDialog.setTitle("PASSWORD");
// Setting Dialog Message
alertDialog.setMessage("Enter Password");
**final EditText input = new EditText(this);**
//alertDialog.setView(input);
// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.key);
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
// Write your code here to execute after dialog
Toast.makeText(getApplicationContext(),"Password Matched", Toast.LENGTH_SHORT).show();
Intent myIntent1 = new Intent(view.getContext(), Show.class);
startActivityForResult(myIntent1, 0);
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to execute after dialog
dialog.cancel();
}
});
// closed
// Showing Alert Message
alertDialog.show();
}
});
Gambar
Saya ingin mendapatkan
AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
alertDialog.setTitle("PASSWORD");
alertDialog.setMessage("Enter Password");
final EditText input = new EditText(MainActivity.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
input.setLayoutParams(lp);
alertDialog.setView(input);
alertDialog.setIcon(R.drawable.key);
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
password = input.getText().toString();
if (password.compareTo("") == 0) {
if (pass.equals(password)) {
Toast.makeText(getApplicationContext(),
"Password Matched", Toast.LENGTH_SHORT).show();
Intent myIntent1 = new Intent(view.getContext(),
Show.class);
startActivityForResult(myIntent1, 0);
} else {
Toast.makeText(getApplicationContext(),
"Wrong Password!", Toast.LENGTH_SHORT).show();
}
}
}
});
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialog.show();
}
});
Jawaban:
Gunakan Konteks Aktivitas
Ganti ini
Oleh
sumber
Dialog dialog = new Dialog(MainActivity.this)
. Saya pikir Anda menyalin kode Anda dari tempat lain di mana saya kirapublic void onClick(DialogInterface dialog
itu dialoginterface. menggunakan itu bukan masalah, Anda mengklik tombol negatif untuk mengabaikan alertdialog.Saya tahu sudah terlambat untuk menjawab pertanyaan ini, tetapi bagi orang lain yang mencari sesuatu yang mirip dengan ini di sini adalah kode sederhana kotak peringatan dengan edittext
atau
jika Anda ingin mengubah tema dialog.
sumber
Yang paling sederhana dari semuanya.
Buat file layout xml untuk dialog. Tambahkan tampilan apa pun yang Anda inginkan seperti EditText, ListView, Spinner dll.
Kembangkan tampilan ini dan atur ini ke AlertDialog
Mari kita mulai dengan file Layout terlebih dahulu.
sumber
Versi sederhana
sumber
Coba kode di bawah ini:
sumber
Mengatur margin dalam tata letak params tidak akan berfungsi di Alertdialog. Anda harus mengatur padding di tata letak induk dan kemudian menambahkan edittext di tata letak itu.
Ini adalah kode kotlin kerja saya ...
sumber
Anda juga dapat membuat dialog lansiran khusus dengan membuat file xml.
dialoglayout.xml
Kode Java:
sumber
Jawaban Wasim membawa saya ke arah yang benar, tetapi saya harus membuat beberapa perubahan untuk membuatnya bekerja untuk proyek saya saat ini. Saya menggunakan fungsi ini dalam sebuah fragmen dan menyebutnya pada klik tombol.
Saya harap ini membantu orang lain dalam waktu dekat. Selamat coding!
sumber