enter.addTextChangedListener(new TextWatcher() {
private boolean mFormating;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (!mFormating) {
mFormating = true;
if(enter.getText().length() != 0) {
String ss= s.toString();
if (!ss.endsWith("$")) {
ss= ss + "$";
enter.setText(ss);
}
} else {
result.setText(null);
}
mFormating = false;
}
}
});
public class CircleView extends View {
private Paint srcPaint;
public CircleView(Context context) {
this(context, null, 0);
}
public CircleView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CircleView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int width = getWidth();
int height = getHeight();
float centerX = width / 2;
float centerY = height / 2;
float circleRadius = Math.min(width, height) / 5;
Bitmap background = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas layer = new Canvas(background);
layer.drawColor(getResources().getColor(R.color.transparent_yellow));
layer.drawCircle(centerX, centerY, circleRadius, srcPaint);
canvas.drawBitmap(background, 0, 0, null);
}
private void init() {
srcPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
srcPaint.setColor(Color.WHITE);
srcPaint.setStyle(Paint.Style.FILL);
srcPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
}
}
public interface OnCompliteListener {
public abstract void onComplete(String time);
}
public class Timechange extends DialogFragment implements OnClickListener {
private OnCompliteListener mListener;
public Timechange(OnCompliteListener listener) {
this.mListener = listener;
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//... code
}
public void onClick(View v) {
mListener.onComplete(mEditText.getText().toString());
}
}
public class TwoActivity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.two);
//... code
dlgtimechange = new timechange(new OnCompliteListener() {
@Override
public onComplite(String time) {
//... code
}
});
dlgdistchange = new distchange(new OnCompliteListener() {
@Override
public onComplite(String time) {
//... code
}
});
dlgspeedchange = new speedchange(new OnCompliteListener() {
@Override
public onComplite(String time) {
//... code
}
});
}
@Override
public void onClick(View view) {
//... code
}
}
{"1","3","2" }
уверен, что вы используете JSON неправильно. Если вы хотите передавать объект, то и передавайте JSONObject в виде {"gps_wifi":{"gps":"1", "wifi_mac":"3", "wifi":"2" }}
. Тогда порядок значений не будет иметь роли. Вообще для этих целей удобно использовать Gson. Тогда добавление вашего объекта будет выглядеть как:new Gson().toJson(new temp_class_gps_wifi("1","2","3"))
new Gson().fromJson(json, temp_class_gps_wifi.class)
public class Main extends Activity {
private ImageView image;
private Button button;
private Animation anim1;
private Animation anim2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.images);
button = (Button)findViewById(R.id.button);
// получаем обе анимации
anim1 = AnimationUtils.loadAnimation(this, R.anim.anim1);
anim2 = AnimationUtils.loadAnimation(this, R.anim.anim2);
// устанавливаем первый обработчик
button.setOnClickListener(firstButtonListener);
// запускаем первую анимацию
image.startAnimation(anim1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
View.OnClickListener firstButtonListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// запускаем вторую анимацию
image.startAnimation(anim2);
// меняем обработчик нажатия кнопки на второй
button.setOnClickListener(secondButtonListener);
}
}
View.OnClickListener secondButtonListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// запускаем первую анимацию
image.startAnimation(anim1);
// возвращаем первый обработчик нажатия кнопки
button.setOnClickListener(firstButtonListener);
}
}
}
<android.support.v7.widget.CardView....