Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 873
#1

Обращение к textView из другого класса (не MainActivity) в AndroidStudio - Программирование Android

16.01.2015, 21:19. Просмотров 1190. Ответов 7
Метки нет (Все метки)

Добрый вечер, у меня такой вопрос. В MainActivity можно обращаться к объектам, а если в другом классе требуется, допустим, найти объект типа TextView, я пишу "имя класса" extends Activity, но из за этого приложение крашится. Как это можно сделать? Вот код главного активити и одного из классов(остальные по аналогии), помогите пожалуйста.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.example.areas;
 
 
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
 
 
public class MainActivity extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    public void onClick(View view) {
        
        TextView textView=(TextView) findViewById(R.id.textView);
        rectangle r=new rectangle(8,8);
        triangle t=new triangle(6,6);
        figure f=new figure(10,10);
        figure figref;
        figref=r;
        textView.setText(textView.getText()+"Площадь равна" + r.area());
        figref=t;
        textView.setText(textView.getText() + "Площадь равна" + t.area());
        figref=f;
        textView.setText(textView.getText() + "Площадь равна" + f.area());
    }
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.example.areas;
 
 
import android.widget.TextView;
import android.app.Activity;
 
/**
 * Created by Даниил on 16.01.2015.
 */
public class figure extends Activity {
    double dim1,dim2;
    figure(double a, double b){
        dim1=a;
        dim2=b;
    }
    double area(){
        TextView textView=(TextView) findViewById(R.id.textView);
        textView.setText(textView.getText() + "Вы в фигуре гы");
        return 0;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2015, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обращение к textView из другого класса (не MainActivity) в AndroidStudio (Программирование Android):

Как изменить Textview из другого класса (класса адаптера RecyclerView) - Программирование Android
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew BasketAdapter. как мне изменить TextView allPrice из...

Обращение к методу другого класса - Программирование Android
Привет Не пинайте за возможный бред, я учусь) В общем мне необходимо вызвать метод класса Auth из другого класса. Сам метод ...

Обращение к элементам активити из другого класса - Программирование Android
Добрый день. Ломаю голову битый час, все не могу понять, почему у меня не получается. Опишу по шагам. Создал проект андроид (в эклипсе),...

Обращение к функции находящейся не в MainActivity - Программирование Android
Доброго времени суток! Имеется MainActivity.java и HybridMap.java. Мне необходимо при нажатии кнопки обратиться к процедуре в HybridMap....

Обращение к NULL TextView - Программирование Android
У меня есть TextView описанный в XML в GridLayout. И есть ListView который этими GridLayout и заполняется. Возникает исключение....

Изменить переменную из класса MainActivity в классе MainRenderer - Программирование Android
Ребята подскажите пожалуйста, у менять есть два файла: MainActivity.java import android.opengl.GLSurfaceView; import...

7
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
16.01.2015, 22:17 #2
Не совсем понятно что вам надо найти и где, но крашится от того, что onCreate нету. Не надо в таком случае extends Activity если не хотите второго экрана.
Создавайте поля в figure и считывайте их из MainActivity через методы.
1
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,275
Записей в блоге: 2
Завершенные тесты: 1
16.01.2015, 22:41 #3
В Андроиде нельзя из одного Activity обращатся к UI элементам другого. Что-либо делать со своим элементом может только владелец-Activity.
1
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 873
17.01.2015, 14:26  [ТС] #4
Kastaneda, Rube, так как же мне из другого класса присвоить элементу textView какой либо текст? Неужели нельзя? Неужели только из MainActivity можно обращаться к textView?
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,275
Записей в блоге: 2
Завершенные тесты: 1
17.01.2015, 14:45 #5
Нужно настроить какую-то комуникацию между двумя Activity. В самом простом случае это можно сделать через Intent.
Java
1
intent.putExtra("key", "value");
Чтоб сказать более точно нужно видить как твои activity взаимодействуют.
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
17.01.2015, 18:52 #6
Надо сначала определиться, сколько у вас активити. Второй класс figure это что?
0
bodya_men
Нарушитель
44 / 52 / 7
Регистрация: 01.07.2014
Сообщений: 998
Завершенные тесты: 3
17.01.2015, 18:58 #7

Не по теме:

киньте эту фигню.Уйдем на WP!



Добавлено через 12 секунд
а вообще найти приведением типов
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
18.01.2015, 13:14 #8
Если вам нужно использовать TextView из MainActivity в классе figure то просто передайте textView как параметр.
Java
1
2
3
4
double area(TextView textView){
        textView.setText(textView.getText() + "Вы в фигуре гы");
        return 0;
    }
Или можна сделать через конструктор
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class figure {
 
    double dim1,dim2;
    TextView textView;
 
    figure(double a, double b, TextView textView){
        dim1=a;
        dim2=b;
        this.textView = textView;
    }
    double area(){
        textView.setText(textView.getText() + "Вы в фигуре гы");
        return 0;
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2015, 13:14
Привет! Вот еще темы с ответами:

Как сделать доступ к MainActivity из класса android.app.Instrumentation? - Программирование Android
как сделать доступ к MainActivity из класса android.app.Instrumentation? import android.os.AsyncTask; import org.json.JSONArray;...

Как реализовать обращение из SurfacView к TextView в основной Активити - Программирование Android
Всем Добрый День! Не знаю правильно или нет, но хотел сделать разметку поделив экран на две области, нижняя область отображает графику, в...

Изменить текст TextView другого Фрагмента, не открывая его - Программирование Android
Могу передать данные из Activiry во фрагмента когда он открыт. blank1 = new BlankFragment(); if (blank1 != null) { ...

Текст из TextView перенести в другой TextView по нажатию Button - Программирование Android
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел сделать банальную вещь - текст из TextView перенести в...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
18.01.2015, 13:14
Ответ Создать тему
Опции темы

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