OK. Jag är allergisk mot långa metoder. Långa onCreate i synnerhet, och där har du för tillfället precis all din programkod 
Jag vill inte påtvinga någon annan min programmeringsstil, men eftersom du frågar, så postar jag det ändå här. Jag tycker att det blir mer semantiskt, lättare att följa flödet, lättare att hitta de delar av koden man letar efter, lättare att hitta ett fel ur en stack trace, ifall man delar upp det lite:
Code:
package com.adevade.counter;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Counter extends Activity {
AlertDialog dialogReset = null;
int count = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupContent(R.layout.main);
setCount(0);
}
private void setCount(int value) {
count = value;
counter.setText(String.valueOf(count));
}
private OnClickListener buttonAddClick = new OnClickListener() {
public void onClick(View v) {
int add = (int) v.getTag();
setCount(count + add);
}
};
private OnClickListener buttonResetClick = new OnClickListener() {
public void onClick(View v) {
if(dialogReset == null) {
dialogReset = new AlertDialog.Builder(this)
.setCancelable(false)
.setMessage("Do you really want to reset?")
.setPositiveButton("Yes", resetYesClick)
.setNegativeButton("No", resetNoClick)
.create();
}
dialogReset.show();
}
};
private OnClickListener resetYesClick = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
setCount(0);
Toast.makeText(getApplicationContext(), "Done", Toast.LENGTH_SHORT).show();
}
}
private OnClickListener resetNoClick = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}
Button buttonAdd1, buttonAdd2, buttonAdd5, buttonAdd10, buttonReset;
TextView counter;
private void setupContent(int layoutResID) {
setContentView(layoutResID);
counter = (TextView)findViewById(R.id.counter);
buttonAdd1 = (Button)findViewById(R.id.buttonAdd1);
buttonAdd2 = (Button)findViewById(R.id.buttonAdd2);
buttonAdd5 = (Button)findViewById(R.id.buttonAdd5);
buttonAdd10 = (Button)findViewById(R.id.buttonAdd10);
buttonReset = (Button)findViewById(R.id.buttonReset);
buttonAdd1.setTag(1);
buttonAdd2.setTag(2);
buttonAdd5.setTag(5);
buttonAdd10.setTag(10);
buttonAdd1.setOnClickListener(btnAddClick);
buttonAdd2.setOnClickListener(btnAddClick);
buttonAdd5.setOnClickListener(btnAddClick);
buttonAdd10.setOnClickListener(btnAddClick);
buttonAddReset.setOnClickListener(btnResetClick);
}
}
Jag hackade ihop allt i notepad, så något slarvfel kan finnas
Men sådär skulle jag ha gjort den.
Jag brukar alltid ha en setupContent längst ner som helt enkelt ser till att alla fält från XML-filen finns tillgängliga. Det handlar inte om att exakt det här sättet är det bästa, utan helt enkelt att man måste hitta ett sätt, som man kan följa, så att man inte behöver scrolla förbi hundra deklarationer, utan helt enkelt kan se att "OK, när activityn startas laddas alla fält in från R.layout.main, och därefter anropas setCount."
Det är det som görs när activityn skapas, så det är det jag tycker ska stå där. Vad olika knappar gör när de blir klickade är inte intressant när man ska titta på vad som händer i just onCreate.
Mina 2 öre 
EDIT: För övrigt är väl dialog.cancel(); standardbeteende vilken knapp man än väljer? Dvs. man behöver inte spec.a att den ska stänga dialogen när man klickar på en knapp, för det gör den ändå (det är t.ex. därför du inte har med den koden i Yes-knappen). Därav skulle du inte behöva någon kod alls i onClick på nej-knappen (den behöver fortfarande en handler, men den kan vara tom!) För mig är det ett så vanligt scenario, att jag brukar ha en Utilities-klass med en handler för det, som jag alltid kan anropa:
Code:
.setNegativeButton("No", Utilities.dialogInterface_noAction)