У меня есть два класса.Возврат 2 целых числа в функции int
В первом классе необходимы целые числа low
и high
.
Во втором классе Хочу объявить и обменивать low
и high
.
public class DisplayMessageActivity extends ActionBarActivity {
int low = 0;
int high = 101;
Это прекрасно работает, но после выполнения следующей функции целые числа не меняются.
public int close (View v) {
EditText low2 = (EditText) findViewById(R.id.editText2);
EditText high2 = (EditText) findViewById(R.id.editText3);
int low = Integer.parseInt(low2.getText().toString());
int high = Integer.parseInt(high2.getText().toString());
high ++;
Toast.makeText(getApplicationContext(), "Low: " + low +" High: "+high, Toast.LENGTH_SHORT).show();
if (low > high) { //you can ignore it
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("False Numbers");
builder.setMessage("You set the lower number higher than the higher one.");
builder.show();
} else {
this.finish();
}
return low; //I want to return low AND high - but this command will not change low or high!
}
EDITED КОД:
public class HighAndLow{
int high= 0;
int low = 101;
}
public int[] close(View v){
EditText low2 = (EditText) findViewById(R.id.editText2);
EditText high2 = (EditText) findViewById(R.id.editText3);
low = Integer.parseInt(low2.getText().toString()); //cant find low now
high = Integer.parseInt(high2.getText().toString()); //cant find high now
high ++;
Toast.makeText(getApplicationContext(), "Low: " + low +" High: "+high,
Toast.LENGTH_SHORT).show();
if (low > high) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("False Numbers");
builder.setMessage("You set the lower number higher than the higher one.");
builder.show();
}
else{
this.finish();
}
return HighAndLow; //DONT WORK
}
Мой первый класс не может видеть высоким и низким - поэтому программа не запустится. – user1796692
Я бы предложил добавить методы getter в ваш класс. Метод getter просто возвращает свойство этого класса. Напишите один для каждого из ваших свойств. Затем, когда вам нужно просто вызвать int low = MyClass.GetLow() .. или что-то в этом роде. –
Ох, это очень легко с геттером и сеттером! СПАСИБО! – user1796692