У меня есть следующее приложение с textview и edittext. Когда значение edittext изменяется, это обновляет текстовое представление. Теперь я хочу, чтобы значение было получено как целое число. это текущее приложение:
package your.test.two;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
public class TesttwoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText input = (EditText)findViewById(R.id.editText1);
input.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s){
update();
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
}
public void update(){
EditText source = (EditText)findViewById(R.id.editText1);
Editable sourceData = source.getText();
TextView destination = (TextView)findViewById(R.id.textView1);
destination.setText(sourceData);
}
}
Теперь я хочу, чтобы редактируемые исходные данные каким-то образом были преобразованы в целое число, чтобы я мог сделать для него оператор if следующим образом:
if(sourceData>255){
sourceData = 0;
}
Я уже изменил значения edittext в main.xml, добавив следующие строки в editText1:
android:inputType="number"
android:maxLength="3"
android:numeric="integer"
Может кто-нибудь дать мне несколько советов относительно того, как это можно сделать, пожалуйста. Я гуглил это, но все, что я в итоге получаю, это такие вещи, как:
Integer i = Integer.parseInt(edittext.gettext().tostring());
&
Integer i = Integer.valueOf(String s);
И я не совсем заставляю их работать или понимать это. Пожалуйста помоги!? (