Получить значение поля «Изменить текст»

Я изучаю, как создавать элементы пользовательского интерфейса. Я создал несколько полей ввода EditText. При нажатии кнопки я хочу захватить содержимое, введенное в это поле ввода.

<EditText android:id="@+id/name" android:width="220px" /> 

Это мое поле. Как я могу получить контент?

Используя getText ():

 Button mButton; EditText mEdit; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton = (Button)findViewById(R.id.button); mEdit = (EditText)findViewById(R.id.edittext); mButton.setOnClickListener( new View.OnClickListener() { public void onClick(View view) { Log.v("EditText", mEdit.getText().toString()); } }); } 

Я думаю, вам придется использовать этот код при вызове «mEdit» вашего объекта EditText:

myActivity.this.mEdit.getText().toString()

Просто убедитесь, что компилятор знает, какой EditText вызывать и использовать.

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button rtn = (Button)findViewById(R.id.button); EditText edit_text = (EditText)findViewById(R.id.edittext1); rtn .setOnClickListener( new View.OnClickListener() { public void onClick(View view) { Log.v("EditText value=", edit_text.getText().toString()); } }); } 

Я надеюсь, что это должно работать:

 Integer.valueOf(mEdit.getText().toString()); 

Я попробовал Integer.getInteger() вместо valueOf() – он не работал.

Получите значение из EditText управления EditText в android. getText свойства EditText getText для получения значения EditText :

 EditText txtname = (EditText)findViewById(R.id.name); String name = txtname.getText().toString(); 

Вы также можете взглянуть на Butter Knife . Он направлен на уменьшение количества кода шаблона с помощью аннотации. Вот простой пример:

 public class ExampleActivity extends ActionBarActivity { @InjectView(R.id.name) EditText nameEditText; @InjectView(R.id.email) EditText emailEditText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); Butterknife.inject(this); } @OnClick(R.id.submit) public void onSubmit() { Editable name = nameEditText.getText(); Editable email = emailEditText.getText(); } } 

Просто добавьте следующую зависимость к вашему build.gradle :

 compile 'com.jakewharton:butterknife:xyz' 

В качестве альтернативы есть также AndroidAnnotations .

Более продвинутым способом было бы использовать bindknife bindview. Это устраняет избыточный код.

В вашей зависимости от зависимостей; Добавьте 2 строки.

 compile('com.jakewharton:butterknife:8.5.1') { exclude module: 'support-compat' } apt 'com.jakewharton:butterknife-compiler:8.5.1' 

Затем выполните синхронизацию. Пример привязки edittext в MainActivity

 import butterknife.BindView; import butterknife.ButterKnife; public class MainActivity { @BindView(R.id.name) EditTextView mName; ... public void onCreate(Bundle savedInstanceState){ ButterKnife.bind(this); ... } } 

Но это альтернатива, когда вы чувствуете себя более комфортно или начинаете работать с большим количеством данных.

  Button kapatButon = (Button) findViewById(R.id.islemButonKapat); Button hesaplaButon = (Button) findViewById(R.id.islemButonHesapla); Button ayarlarButon = (Button) findViewById(R.id.islemButonAyarlar); final EditText ders1Vize = (EditText) findViewById(R.id.ders1Vize); final EditText ders1Final = (EditText) findViewById(R.id.ders1Final); final EditText ders1Ortalama = (EditText) findViewById(R.id.ders1Ortalama); // final EditText ders2Vize = (EditText) findViewById(R.id.ders2Vize); final EditText ders2Final = (EditText) findViewById(R.id.ders2Final); final EditText ders2Ortalama = (EditText) findViewById(R.id.ders2Ortalama); // final EditText ders3Vize = (EditText) findViewById(R.id.ders3Vize); final EditText ders3Final = (EditText) findViewById(R.id.ders3Final); final EditText ders3Ortalama = (EditText) findViewById(R.id.ders3Ortalama); // final EditText ders4Vize = (EditText) findViewById(R.id.ders4Vize); final EditText ders4Final = (EditText) findViewById(R.id.ders4Final); final EditText ders4Ortalama = (EditText) findViewById(R.id.ders4Ortalama); // final EditText ders5Vize = (EditText) findViewById(R.id.ders5Vize); final EditText ders5Final = (EditText) findViewById(R.id.ders5Final); final EditText ders5Ortalama = (EditText) findViewById(R.id.ders5Ortalama); // final EditText ders6Vize = (EditText) findViewById(R.id.ders6Vize); final EditText ders6Final = (EditText) findViewById(R.id.ders6Final); final EditText ders6Ortalama = (EditText) findViewById(R.id.ders6Ortalama); // final EditText ders7Vize = (EditText) findViewById(R.id.ders7Vize); final EditText ders7Final = (EditText) findViewById(R.id.ders7Final); final EditText ders7Ortalama = (EditText) findViewById(R.id.ders7Ortalama); // /* * * * */ kapatButon.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // kapatma islemi Toast.makeText(getApplicationContext(), "kapat", Toast.LENGTH_LONG).show(); } }); /* * * * */ hesaplaButon.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // hesap islemi int d1v = Integer.parseInt(ders1Vize.getText().toString()); int d1f = Integer.parseInt(ders1Final.getText().toString()); int ort1 = (int) (d1v * 0.4 + d1f * 0.6); ders1Ortalama.setText("" + ort1); // int d2v = Integer.parseInt(ders2Vize.getText().toString()); int d2f = Integer.parseInt(ders2Final.getText().toString()); int ort2 = (int) (d2v * 0.4 + d2f * 0.6); ders2Ortalama.setText("" + ort2); // int d3v = Integer.parseInt(ders3Vize.getText().toString()); int d3f = Integer.parseInt(ders3Final.getText().toString()); int ort3 = (int) (d3v * 0.4 + d3f * 0.6); ders3Ortalama.setText("" + ort3); // int d4v = Integer.parseInt(ders4Vize.getText().toString()); int d4f = Integer.parseInt(ders4Final.getText().toString()); int ort4 = (int) (d4v * 0.4 + d4f * 0.6); ders4Ortalama.setText("" + ort4); // int d5v = Integer.parseInt(ders5Vize.getText().toString()); int d5f = Integer.parseInt(ders5Final.getText().toString()); int ort5 = (int) (d5v * 0.4 + d5f * 0.6); ders5Ortalama.setText("" + ort5); // int d6v = Integer.parseInt(ders6Vize.getText().toString()); int d6f = Integer.parseInt(ders6Final.getText().toString()); int ort6 = (int) (d6v * 0.4 + d6f * 0.6); ders6Ortalama.setText("" + ort6); // int d7v = Integer.parseInt(ders7Vize.getText().toString()); int d7f = Integer.parseInt(ders7Final.getText().toString()); int ort7 = (int) (d7v * 0.4 + d7f * 0.6); ders7Ortalama.setText("" + ort7); // Toast.makeText(getApplicationContext(), "hesapla", Toast.LENGTH_LONG).show(); } }); 
Intereting Posts
Метод getDrawingCache () Android 2.1 View всегда возвращает значение null Recycler view Индекс массива outof bound Ошибка несоответствия при одновременном прокрутке SwipetoRefresh и повторной обработки Как изменить версию инструмента сборки в Android Studio Странные сообщения «Не удалось отправить событие» и «Нет подписчиков, зарегистрированных для события» Android Developers MyFirstApp – "меню не может быть разрешено или не является полем" Обработчик событий с длинным нажатием Как проверить, что пользователь впервые вступает в систему с помощью Firebase Authentification Просмотр проблемы, вызывающей SecondFragment из FirstFragment Имея несколько SQLiteOpenhelper в одном приложении Android Проблема с Google Диском Android API Обновлять элементы счетчика на основе выбранного элемента другого счетчика Как стилизовать кнопки в Alert Dialog Fragment с помощью Material Design? Android. OnEditorAction никогда не вызывал Отключить кнопку панели инструментов Ошибка stackoverflow при просмотре перетаскивания