L'extension de AlertDialogs dans Android (où trouver des exemples, comment obtenir le titre et les boutons)

J'ai été à la recherche d'un lot pour des exemples sur la façon de correctement étendre AlertDialogs et obtenir le comportement attendu, mais j'ai du mal à en trouver.

Docs sur google ne marche pas vraiment dire grand-chose non plus.

Oui, je sais que je peux utiliser un AlertDialog.Builder pour construire la plupart des communes de choses, mais pour certaines raisons, j'ai envie de créer mon propre AlertDialogs (j'ai un code que je veux contenues dans des fichiers java, pour une raison).

J'ai créé mon PausDialog.java (voir le code ci-dessous), il montre, mais je n'arrive pas à obtenir le titre ou à l'un des boutons (positif, négatif etc) à afficher dans la boîte de Dialogue. Voir cette photo:

L'extension de AlertDialogs dans Android (où trouver des exemples, comment obtenir le titre et les boutons)

Donc,
question 1: où puis-je trouver de bons, propres et des exemples utiles sur la façon de correctement étendre AlertDialogs et comment les utiliser par la suite

question 2: pourquoi ne puis-je pas voir le titre ou les boutons à l'aide de la coutume AlertDialog ci-dessous?


PausDialog.java

package Test;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Handler;
import android.os.SystemClock;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class PausDialog extends AlertDialog 
{
protected PausDialog(Context context) 
{
super(context, R.style.DialogTheme);
}
@Override
protected void onCreate(android.os.Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.paus);
WindowManager.LayoutParams params = getWindow().getAttributes();  
params.gravity = Gravity.TOP;
final EditText ed1= (EditText) findViewById(R.id.editTextPausArea);
final EditText ed2= (EditText) findViewById(R.id.EditTextPausTimeFrom);
final EditText ed3= (EditText) findViewById(R.id.EditTextPausTimeTo);
TextView tv1 = (TextView)findViewById(R.id.textViewPausArea);
tv1.setText(LanguageHandler.GetString("AREA"));
tv1 = (TextView)findViewById(R.id.textViewPausTime);
tv1.setText(LanguageHandler.GetString("TIME"));
setButton(DialogInterface.BUTTON_POSITIVE, "Positive",
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int fromArea = 0;
int fromTime = 0;
int toTime = 0;
try
{
fromArea = Integer.parseInt(ed1.getText().toString());
fromTime = Integer.parseInt(ed2.getText().toString());
toTime = Integer.parseInt(ed3.getText().toString());
}
catch(Exception e)
{
//TODO fail
}                       
}
});
setButton(DialogInterface.BUTTON_NEGATIVE, "Negative",
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do something
}
});
}
}

MainActivity.java, l'appel de la PausDialog:

PausDialog pd = new PausDialog(MainActivity.this);
pd.show();

La mise en page de mon PausDialog, paus.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<RelativeLayout android:gravity="top" android:layout_height="200dp" android:layout_weight="0.11" android:layout_width="304dp">
<TextView android:layout_alignParentLeft="true" android:text="Område" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textViewPausArea" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginLeft="17dp" android:layout_marginTop="18dp"></TextView>
<EditText android:layout_alignBaseline="@+id/textViewPausArea" android:id="@+id/editTextPausArea" android:layout_width="80dp" android:layout_alignBottom="@+id/textViewPausArea" android:inputType="number" android:layout_height="wrap_content" android:layout_toRightOf="@+id/textViewPausArea" android:layout_marginLeft="17dp">
<requestFocus></requestFocus>
</EditText>
<TextView android:text="Tid" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_below="@+id/editTextPausArea" android:id="@+id/textViewPausTime" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_alignLeft="@+id/textViewPausArea"></TextView>
<EditText android:layout_alignBaseline="@+id/textViewPausTime" android:id="@+id/EditTextPausTimeFrom" android:layout_width="80dp" android:layout_alignBottom="@+id/textViewPausTime" android:inputType="time" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editTextPausArea"></EditText>
<TextView android:text=" - " android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textView3" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/EditTextPausTimeFrom" android:layout_alignBottom="@+id/EditTextPausTimeFrom" android:layout_toRightOf="@+id/EditTextPausTimeFrom"></TextView>
<EditText android:id="@+id/EditTextPausTimeTo" android:layout_width="80dp" android:inputType="time" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView3" android:layout_alignBottom="@+id/textView3" android:layout_toRightOf="@+id/textView3"></EditText>    
</RelativeLayout>
</LinearLayout>
Si son nécessaire? Eh bien, si vous voulez un AlertDialog et ont un peu de code personnalisé pour juste cette boîte de dialogue, puis je dirais que son recommandable...

OriginalL'auteur Ted | 2011-10-19