Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dragonnbullet
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 11
#1

EditText читает цифры наоборот - Программирование Android

26.10.2015, 15:56. Просмотров 216. Ответов 4
Метки нет (Все метки)

Вписываю цифры, но почему-то EditText читает их наоборот. Я вписывал 523, а оно считало их как 325. Почему такое происходит? Добавил screen и код. Помогите, не знаю в чем в чем проблема
import java.text.DecimalFormat;
import java.util.ArrayList;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import com.example.help_diet_application.DietDetailsValues;


@SuppressLint("InflateParams") public class CaloriesActivity extends Activity {

private MyCustomAdapter dataAdapter = null;
private Double sum = 0.00;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calories);


displayListView();

}

private void displayListView() {


ArrayList<DietDetailsValues> productList = new ArrayList<DietDetailsValues>();
DietDetailsValues product = new DietDetailsValues("[g]","Cukinia",13.00);
productList.add(product);
product = new DietDetailsValues("[g]","Bakłażan",22.00);
productList.add(product);
product = new DietDetailsValues("[g]","Brokuły",15.00);
productList.add(product);
product = new DietDetailsValues("[g]","Pomidor",16.00);
productList.add(product);
product = new DietDetailsValues("[g]","Pieprz",32.00);
productList.add(product);
product = new DietDetailsValues("[g]","Arbuz",35.00);
productList.add(product);
product = new DietDetailsValues("[g]","Banan",97.00);
productList.add(product);
product = new DietDetailsValues("[g]","Jabłko",44.00);
productList.add(product);
product = new DietDetailsValues("[g]","Liczi",73.00);
productList.add(product);
product = new DietDetailsValues("[g]","Mango",66.00);
productList.add(product);
product = new DietDetailsValues("[g]","Morele",45.00);
productList.add(product);
product = new DietDetailsValues("[g]","Boczek",432.00);
productList.add(product);
product = new DietDetailsValues("[g]","Jajko",138.00);
productList.add(product);
product = new DietDetailsValues("[g]","Mleko",65.00);
productList.add(product);
product = new DietDetailsValues("[g]","Ser",284.00);
productList.add(product);
product = new DietDetailsValues("[g]","Baguette",285.00);
productList.add(product);




dataAdapter = new MyCustomAdapter(this,R.layout.my_row, productList);
ListView listView = (ListView) findViewById(R.id.ListView1);

listView.setAdapter(dataAdapter);

}

private class MyCustomAdapter extends ArrayAdapter<DietDetailsValues> {

private ArrayList<DietDetailsValues> productList;

public MyCustomAdapter(Context context, int textViewResourceId,
ArrayList<DietDetailsValues> productList) {
super(context, textViewResourceId, productList);
this.productList = new ArrayList<DietDetailsValues>();
this.productList.addAll(productList);
}

@Override
public View getView(int position, View view, ViewGroup parent) {

DecimalFormat df = new DecimalFormat("0.00##");
DietDetailsValues product = productList.get(position);

if (view == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.my_row, null);
EditText quantity = (EditText) view.findViewById(R.id.quantity);

quantity.addTextChangedListener(new MyTextWatcher(view));

}

EditText quantity = (EditText) view.findViewById(R.id.quantity);
quantity.setTag(product);
if(product.getQuantity() != 0){
quantity.setText(String.valueOf(product.getQuantity()));
}
else {
quantity.setText("");
}

TextView itemNumber = (TextView) view.findViewById(R.id.itemNumber);
itemNumber.setText(product.getItemNumber());
TextView description = (TextView) view.findViewById(R.id.description);
description.setText(product.getDescription());
TextView price = (TextView) view.findViewById(R.id.gr);
price.setText(df.format(product.getGr()) + "kcal");
TextView ext = (TextView) view.findViewById(R.id.ext);
if(product.getQuantity() != 0){
ext.setText(df.format(product.getExt()) + "kcal");
}
else {
ext.setText("");
}

return view;

}

}

private class MyTextWatcher implements TextWatcher{

private View view;
private MyTextWatcher(View view) {
this.view = view;
}

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}
public void onTextChanged(CharSequence s, int start, int before, int count) {

}
public void afterTextChanged(Editable s) {

DecimalFormat df = new DecimalFormat("0.00##");
String qtyString = s.toString().trim();
int quantity = qtyString.equals("") ? 0:Integer.valueOf(qtyString);

EditText qtyView = (EditText) view.findViewById(R.id.quantity);
DietDetailsValues product = (DietDetailsValues) qtyView.getTag();

if(product.getQuantity() != quantity){

Double currGr = product.getExt();
Double extGr = (quantity * product.getGr())/100;
Double priceDiff = Double.valueOf(df.format(extGr - currGr));

product.setQuantity(quantity);
product.setExt(extGr);

TextView ext = (TextView) view.findViewById(R.id.ext);
if(product.getQuantity() != 0){
ext.setText(df.format(product.getExt()) + "kcal");
}
else {
ext.setText("");
}

if(product.getQuantity() != 0){
qtyView.setText(String.valueOf(product.getQuantity()));
}
else {
qtyView.setText("");
}

sum += priceDiff;
TextView cartTotal = (TextView) findViewById(R.id.sum);
cartTotal.setText(df.format(sum));

}

return;
}
}


}
0
Миниатюры
EditText читает цифры наоборот  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос EditText читает цифры наоборот (Программирование Android):

Ввод в один EditText и авто-вычисление в двух других EditText - Программирование Android
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText - Программирование Android
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Edittext - Программирование Android
Как проверить находится ли edittext в фокусе?

EditText - Программирование Android
В ListView каждый пункт состоит из нескольких EditText, при нажатий на EditText в пункте например 4, фокус ставится в пункт 1 ListView(а),...

EditText - Программирование Android
Не работает пример взятый из книги myEditText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int...

Очистка EditText - Программирование Android
Есть несколько edittext. После внесения в первый числа фокус переходит на следующий. В конце после нажатия кнопки нужно очистить все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2489 / 1934 / 604
Регистрация: 12.05.2014
Сообщений: 6,793
Завершенные тесты: 1
26.10.2015, 16:03 #2
в настройках эмулятора какая локаль установлена?
может там справа-налево пишут
0
dragonnbullet
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 11
27.10.2015, 11:04  [ТС] #3
Не думаю что это эмулятор. Так как с EditText в других приложениях он ведет себя адекватно
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.10.2015, 12:40 #4
dragonnbullet, что с клавиатурой? Это не pinyinime клава?
0
dragonnbullet
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 11
27.10.2015, 18:31  [ТС] #5
Точно не знаю, есть иероглифы, но можно переключить на английскую раскладку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2015, 18:31
Привет! Вот еще темы с ответами:

EditText в диалоге - Программирование Android
В такой диалог нужно добавить второй EditText, возможно ли это и (если возможно) то как?

Смайлы и EditText - Программирование Android
Добрый день. Если ввести смайл в EditText приложение крашнется. Как определить и запретить ввод смайлов?🌄

Кастомный EditText - Программирование Android
Подскажите, каким образом можно реализовать EditText как на скрине, при этом редактирование происходить только правой части знаю что...

EditText и TextView - Программирование Android
Добрый день. Хочу написать приложение ТСР клиент. Возникла сложность с вводом IPшника в EditText и последующем его выводом в TextView...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.10.2015, 18:31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru