Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
1

Как переназначить переменную в классе

12.03.2015, 10:37. Просмотров 620. Ответов 14
Метки нет (Все метки)

Здравствуйте.

Есть две активности, которые расположены внутри TabWidget в разных вкладках. Для каждой активности есть свой класс.

Дело в том, что в этих активностях выполняются запросы к серверу. И УРЛ будет различаться только GET параметрами...

И я не знаю, как это реализовать, не прибегая к сохранению переменных в памяти. Первый класс выглядит примерно так

Java
1
2
3
4
5
6
7
8
9
10
11
public class MyClass1 extends Activity implements View.OnClickListener {
 
    Button dwn;
    ExpandableListView elv;
    LinearLayout container;
    ProgressBar pb;
 
 
    String myUrl = "http://...";
 
    // и так далее
Со вторым классом решил не заморачиваться и сделал так:

Java
1
2
3
public class MyClass2 extends MyClass1 {
    String myUrl = "http://..."; // это не работает :( все равно по старому адресу запрос идет...
}

И теперь не знаю, как поменять сделать разный УРЛ в обоих классах... Может есть какое то стандартное решение для такой штуки?))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2015, 10:37
Ответы с готовыми решениями:

Изменить переменную из класса MainActivity в классе MainRenderer
Ребята подскажите пожалуйста, у менять есть два файла: MainActivity.java ...

Как в отдельном классе сохранять переменные?
Добрый день! есть класс, в нем сотни переменных, их значения меняются. ...

Как из Thread в отдельном классе получить context приложения?
Например есть AcceptThread extends Thread и MainActivity extends Activity ...

Класс: Как получить значение нестатичной переменной из класса One в классе Two?
Java.Есть два класса One и Two. В классе One есть не статичная переменная t....

Как отправить переменную на сервер
Здравствуйте. У меня банальный вопрос..Есть например в андроид программе...

14
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
12.03.2015, 10:49 2
Как вариант, ложить/менять, а потом и доставать из SharedPreferences...
1
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
12.03.2015, 10:53  [ТС] 3
Armagedo, да этот метод знаю. Просто еще никогда не "трогал" SharedPreferences, поэтому хотел как то обойтись обычным переназначением переменной))
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
12.03.2015, 11:33 4
А если использовать фрагменты, а класс оставить один?
1
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
12.03.2015, 11:37  [ТС] 5
Цитата Сообщение от Rube Посмотреть сообщение
А если использовать фрагменты, а класс оставить один?
Может быть... спасибо =)

Надо будет покопать setContent для табов, и про Intent вспомнить. А то на вскидку я не особо понимаю, как можно с одним классом два таба заполнить))
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
12.03.2015, 11:46 6
Да ничего сложного, копай ViewPager и PagerAdapter.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
12.03.2015, 13:13 7
Цитата Сообщение от z-z Посмотреть сообщение
Java
1
2
3
public class MyClass2 extends MyClass1 {
    String myUrl = "http://..."; // это не работает :( все равно по старому адресу запрос идет...
}
Java
1
2
3
public class MyClass2 extends MyClass1 {
    myUrl = "http://..."; // а вот так работает.
}
В вашем варианте вы создаете локальный объект и назначаете ему значение, а нужно переназначить поле, которое есть у обоих классов.
0
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
12.03.2015, 19:59  [ТС] 8
Spelcrawler, было бы логично, если бы работало Все подчеркивается красным. При наводке мыши на саму переменную ругается так Unknown class: 'myUrl', а при наводке на строку в кавычках ругается так - Unexpected token...

Может надо как то глобально объявлять переменную? или надо что-нибудь импортировать в файл со вторым классом?

Добавлено через 8 минут
есть еще одна странность - внутри второго класса (тот, что наследуется от первого) редактор ругается на this... его то там почему нет?))
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
12.03.2015, 22:20 9
Ну правильно, поле в первом классе должно быть public или protected. А this есть всегда, возможно не там пишете.
0
FeonoR
11 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 27
13.03.2015, 06:45 10
Ну если юрл отличается только параметрами - может стоит их просто принимать в конструкторе класса и не парить мозг?
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.03.2015, 08:19 11
FeonoR, тут уж не знаю. Был конкретный вопрос, я дал конкретный ответ, а зачем оно нужно это другой разговор.
0
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
13.03.2015, 17:45  [ТС] 12
FeonoR, дело в том, что это класс активности. Я не создаю экземпляры, у меня просто один активити наследуется вторым))

Но вообще в будущем я думал все таки логику отделить... наверно тогда легче будет все это собирать

Spelcrawler, так тоже не сработало)) В общем сделал метод getUrl и переопределил его... Но уже чисто спортивный интерес, почему же методы переопределяются, а свойства - нет...
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
13.03.2015, 17:49 13
Цитата Сообщение от z-z Посмотреть сообщение
так тоже не сработало
Не может быть.
0
z-z
169 / 168 / 56
Регистрация: 22.06.2011
Сообщений: 980
14.03.2015, 11:20  [ТС] 14
Spelcrawler, вот так выглядел код

Java
1
2
3
4
5
6
7
8
public class MyClass1 {
    public String myUrl = "...";
}
 
public class MyClass2 extends MyClass1 {
    this... // тут уже ругается на this и сразу подчеркивает его красным
    myUrl = "..."; // на такую строку тоже ругается так же, как и в прошлом варианте без public
}
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
14.03.2015, 11:35 15
Ну дак в методах нужно писать то. Или в конструкторе.
0
14.03.2015, 11:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 11:35

Как разбить переменную на строки?
У меня есть переменная Text1 типа String, в которой записано:...

Как сохранить целочисленную переменную в кэше?
как сохранить целочисленную переменную в КЭШе?? можете привести фрагмент кода??

Как создать переменную int из выражения?
Добрый! Можно ли сделать одну int переменную из list.get(count-1)) int...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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