import android.app.DialogFragment;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
/**
* A simple {@link Fragment} subclass.
*/
public class CustomDiologFragment extends DialogFragment {
Button b1,b2;
TextView baslik,mesaj;
Boolean buttonCift;
String baslikString,mesajString,buton1Title,buton2Title;
DialogInterface dialogInterface;
public CustomDiologFragment(String baslikString,String mesajString,String buton1Title,String buton2Title,Boolean buttonCift){//constructor
this.baslikString = baslikString; //Dailog Başlık
this.mesajString = mesajString; //Dialog mesaj
this.buttonCift = buttonCift; //Dialog tek mi çift mi butonla gösterilecek
this.buton1Title = buton1Title; //Button title
this.buton2Title = buton2Title; //button title
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_fragment,container);//Fragment view oluşturuyoruz
getDialog().getWindow().requestFeature(getActivity().getWindow().FEATURE_NO_TITLE);//kendi başlığımızı oluşturduğumuz için Dialog sınıfının başlığını kapatıyoruz
setCancelable(false);//Dialog penceresinin dışına basıldığında kapatılmasını engelliyoruz.setCancelable methodu extend ettiğimiz DialogFragment içinde bulunmakta
dialogInterface = (DialogInterface) getActivity();//DialogInterface içindeki buttonClick methodunu çağırabilmek için obje oluşturuyoruz
b1 = (Button)view.findViewById(R.id.button1); //b1 butonu
b1.setText(buton1Title); //button title nı constructora gönderdimiz değer ile set ediyoruz
b1.setOnClickListener(new View.OnClickListener() {//b1 clicklistener
@Override
public void onClick(View v) {
dialogInterface.buttonClick(1);//Hangi butona tıklandığını anlamak için int değer dönüyoruz
dismiss(); //Butona tıklanınca Dialog penceresinin kapanması için.Bu methodda extend edilen class içinde mevcut
}
});
b2 = (Button)view.findViewById(R.id.button2);
b2.setText(buton2Title);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick (View v) {
dialogInterface.buttonClick(2);
dismiss();
}
});
baslik = (TextView)view.findViewById(R.id.baslik);
baslik.setText(baslikString);
mesaj = (TextView)view.findViewById(R.id.mesaj);
mesaj.setText(mesajString);
if(buttonCift){
b1.setVisibility(View.VISIBLE);
}
return view;
}
}