#android #class #function #variables #android-activity
#Android #класс #функция #переменные #android-activity
Вопрос:
Я написал свои коды и функции только в классе activity (A). Затем я переместил функцию из класса activity в новый класс Java (B). и я расширяю ее следующим образом
public class B extends A{
int sum=0;
public int funcSum(){
int x=5;
sum=sum x;
return sum;
};
И это мой класс activity:
public class A extends Activity {
final B c = new B();
TextView1.setText("sum= " new Integer(c.funcSum()).toString());
Когда я ее выполняю, она не выдает ошибку codeline. Но он всегда показывает sum = 0 .
как я вижу, он не вычисляет сумму в функции ‘funcSum’.
Комментарии:
1. Этот код должен работать. Непонятно, зачем вы расширяете A, но. Кстати. где вы размещаете такой код? в onCreate()?
2. Это не должно иметь значения, но в классе B используйте this.sum = x; верните this.sum;
3. Владимир Иванов, мои коды (A) находятся в onCreate().
4. NeTeInStEiN, все еще не работает : S
5. @Dapina, пожалуйста, добавьте еще немного кода.
Ответ №1:
Вам не нужно «новое целое число()». Попробуйте просто «c.funcSum().toString()».
Комментарии:
1. Вы не можете преобразовать
int
в строку с помощьюtoString
метода.int
является примитивом.2. @Dapina — Как правило, вы можете просто написать
TextView1.setText("sum= " c.funcSum());
. но, пожалуйста, прочитайте также мои комментарии к вашему вопросу3. Тогда вам придется опубликовать больше кода. Маловероятно, что проблема, которую вы описали выше, является причиной проблемы.