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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.95
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
#1

Вывести значение в TextView - Программирование Android

25.01.2012, 21:53. Просмотров 5421. Ответов 15
Метки нет (Все метки)

Приветствую.

Решил побаловаться с Android, - написать строковый калькулятор.

Написал на xml форму:

XML
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content">
 
        <!--<EditText
            android:name = "Expression_ET"
            android:text=""
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:singleLine= "true">
        </EditText>-->
 
        <Button
                android:name = "Calculate_B"
                android:text = "Calculate"
                android:layout_width="fill_parent"
                android:layout_height = "wrap_content"
                android:onClick="calculate">
        </Button>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                    android:name = "JustLabel_TW"
                    android:text="The answer to life universe and everything: "
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1">
            </TextView>
            <TextView
                    android:name = "Answer_TW"
                    android:text= ""
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="7">
            </TextView>
        </LinearLayout>
</LinearLayout>
Вопрос: как правильно написать обработчик нажатия кнопки "Calculate_B" чтобы в "Answer_TW" появилось значение "42" ?

P.S. Понимаю что вопрос идиотский, но по каким то причинам сделать это самостоятельно у меня не выходит.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2012, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести значение в TextView (Программирование Android):

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

Вывод в TextView значение из переменной int - Программирование Android
как вывести в TextView значение из переменной int? Пробовал функцию toString(), но компилятор говорит что такой метод для int не...

Правильно вывести дату в TextView - Программирование Android
Как корректно вывести данные обьекта Date в TextView, чтобы получилось так часы:минуты( то есть 10:00, 08:00 и так далее)? Просто такой...

Вывести числа массива в TextView - Программирование Android
Доброго времени суток! Помогите пожалуйста, не могу понять как вывести случайные числа из массива в TextView. Спасибо за помощь :good:

Вывести контакт(его имя) на textview - Программирование Android
Как вывести имя первого попавшегося контакта (и, возможно, его номера телефонов) в textview? нашел код как получить контакты: Cursor...

Как OkHTTP ответ вывести в TextView? - Программирование Android
Проблема с потоками, так как не давно начал работать с android возникли непонимания. Для оправки Get запроса использую библиотеку...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
26.01.2012, 00:44 #2
омг... яву юзать. создаем активити, подключаем либо onClickListener, либо в xml прописать: android:onClick="имя_события"; в классе активити создаем оное событие...
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
26.01.2012, 01:04  [ТС] #3
создаем активити
done
в xml прописать: android:onClick="имя_события"
done
в классе активити создаем оное событие
Создан метод calculate()

Проблема в том, что я видимо как-то не так Id пользуюсь, - при попытке обратится к элементу
Java
1
2
TextView answer = ( TextView )findViewById( "Как правильно добавить Id?" );
answer.setText( "42" )
Происходит падение программы
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
26.01.2012, 01:17 #4
в xml:
XML
1
android:id="@+id/наш_ай-ди"
в яве:
Java
1
2
3
4
5
6
7
8
TextView tv = new TextView;
//теперь в onCreate или в onResume:
tv=(TextView)  findViewById(R.id.наш_ай-ди);
//событие onClick правильно создавать так:
public void onClickButton(View src)
{
    //ну и тут обработка события
}
извиняюсь за возможные ошибки, с ходу пишу
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
26.01.2012, 01:19  [ТС] #5
Разобрался: Ошибка была в том, что пытался городить Id.xml и прописывать там нечто а-ля
XML
1
<integer name = "id">111</integer>
Получался fail

А теперь второй вопрос: неужели это единственный способ? - ибо выглядит он не вполне вменяемо.
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
26.01.2012, 01:27 #6
ну можно создавать объекты и задавать им свойства прямо в яве. но способ: разметить в xml а после прикрепить разметку xml к созданным в ве объектам - довольно таки адекватный.

хотя вообще философия андроид - штука сама по себе первое время не особо понятная... но потом проникаешься Х))
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
26.01.2012, 13:35  [ТС] #7
Снова приветствую, еще один вопрос возник: можно ли передать в
XML
1
android:onClick = "doSomething"
Какой-нибудь параметр, - скажем "1", если да, как это сделать?
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
26.01.2012, 14:04 #8
нет, насколько я знаю... параметры можно передавать только в классе, не в xml разметке.
и правильней(по философии андроид) вместо привязки события подключать прослушиватель нажатий:
Java
1
2
3
4
5
bub.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
                    onClickBuble(view);
                }
            });
тут же в прослушивателе можно и параметр передать.
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
26.01.2012, 16:52  [ТС] #9
Если есть возможность, посмотрите пожалуйста исходники. Буду признателен за сообщения о найденных багах и предложения по рефакторингу.
Вложения
Тип файла: zip res.zip (13.7 Кб, 34 просмотров)
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
01.02.2012, 20:18  [ТС] #10
Еще не подскажете что нужно сделать, для подсветки синтаксиса ( Например скобки отрисовывать полужирным шрифтом и т.п. )?
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
02.02.2012, 01:06 #11
в андроиде доступны только один шрифт, и два стиля: bold и italic. для подсветки предлагаю просто после каждого введенного символа проверять на то что ввели, и в случае если введен конкретный символ - выделять его bold'ом или italic'ом.

хотя другие шрифты - стили тоже доступны, но при root доступе.
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
02.02.2012, 13:29  [ТС] #12
По поводу механизма в принципе все понятно, вопрос по сути: куда все это выводить? Что-то типа RichTextBox я в контролах андроида не обнаружил. Возможно я чего то не понимаю, тогда, может приведешь простенький пример отображения красного полужирного символа окруженного обычными в элементе GUI.

Добавлено через 5 минут
Да и еще может посоветуешь почитать чего по андроиду ( можно на ангельском ) andbook прочитал, понравилось, но этого мало.
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
02.02.2012, 13:41 #13
предложил бы ставить перед собой интересную задачку - и реализовывать ее, попутно читая офф доки на андроид и форумы...

реализовать такую вещь как вам надо советовал бы с помощью написания своего контрола. мне кажется это будет проще шаманства над стандартными контролами.
KarmaMaker
91 / 90 / 2
Регистрация: 09.12.2011
Сообщений: 233
02.02.2012, 14:31  [ТС] #14
предложил бы ставить перед собой интересную задачку
Задача поставлена: написать интерпретатор brainfuck для андроид с гуем, автоформатированием и подсветкой синтаксиса.
Сейчас уперся в подсветку синтаксиса.

читая офф доки на андроид и форумы
Несколько неконкретно isn't it ?
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
02.02.2012, 14:40 #15
http://developer.android.com/index.html - тут есть все...
ну и http://stackoverflow.com/questions/ask - тут ответят(или уже ответили) на любой вопрос...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2012, 14:40
Привет! Вот еще темы с ответами:

Почему в Android циклы for, while выводят последнее значение в TextView? - Программирование Android
я хочу выводить значения i в textview через секунду while (i&lt;5) { i++; textview1.setText(i); Thread.sleep(1000); }а оно выводит...

Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? - Программирование Android
У меня есть ListView, у него есть своя разметка на которой находится строчки на каждой из которых Button и textView. Как мне обработать...

При вводе слов из Википедии брать значение этого слова и отображать в TextView - Программирование Android
Всем привет создаю программу , и хочу чтобы при вводе слов из википедии бралось значение этого слова и отображалось в TextView

TextView txt = new TextView(this); - ошибка - Программирование Android
Возникла проблема с динамическим создание TextView в цыкле, хотя в другом месте создается таким же образом все нормально TextView txt =...


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

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

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