package cn.edu.sjtu.software.sjtucontacts.util;
import cn.edu.sjtu.software.sjtucontacts.activity.Board;
import cn.edu.sjtu.software.sjtucontacts.activity.Quote;
import cn.edu.sjtu.software.sjtucontacts.model.Preference;
import cn.edu.sjtu.software.sjtucontacts.R;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import android.widget.ImageView.ScaleType;
public class NumberItemEditor extends LinearLayout implements OnClickListener,Quote{
public final static String NUMBERTYPES[] = {"","",""};
private Board board;
private Button numberType;
private EditText number;
private ImageButton delButton;
private int chooseType = 0;
public NumberItemEditor(Context context,String defaultName) {
super(context);
numberType = new Button(context);
number = new EditText(context);
delButton = new ImageButton(context);
initLayout(defaultName);
}
public void initLayout(String defaultName){
this.addView(numberType);
numberType.setOnClickListener(this);
numberType.setText(defaultName);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)
numberType.getLayoutParams();
params.weight = 0;
numberType.setLayoutParams(params);
numberType.setOnClickListener(this);
//numberType.setTextColor(Preference.getFontColorOfName());
this.addView(number);
params = (LinearLayout.LayoutParams)
number.getLayoutParams();
params.weight = 7;
number.setLayoutParams(params);
//number.setTextColor(Preference.getFontColorOfName());
this.addView(delButton);
delButton.setBackgroundResource(R.drawable.btn_circle_normal);
delButton.setImageResource(R.drawable.ic_btn_round_minus);
delButton.setScaleType(ScaleType.FIT_XY);
params = (LinearLayout.LayoutParams)
delButton.getLayoutParams();
params.width = 38;
params.height = 48;
params.weight = 0;
delButton.setLayoutParams(params);
delButton.setOnClickListener(this);
}
public void setNumberType(String type){
numberType.setText(type);
}
public Button getNumberType() {
return numberType;
}
public void setNumberType(Button numberType) {
this.numberType = numberType;
}
public EditText getNumber() {
return number;
}
public void setNumber(EditText number) {
this.number = number;
}
public void setNumber(String number){
this.number.setText(number);
}
@Override
public void onClick(View arg0) {
if(arg0 == numberType){
AlertDialog.Builder builder = null;
Dialog contactdialog = null;
builder = new AlertDialog.Builder(this.getContext());
builder.setTitle("");
builder.setSingleChoiceItems(NUMBERTYPES, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
chooseType = item;
setNumberType(NUMBERTYPES[item]);
dialog.cancel();
}
});
contactdialog = builder.create();
contactdialog.show();
}else if(arg0 == delButton){
board.react(this);
}
}
@Override
public void paste(Board board) {
this.board = board;
}
}
|