Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 28 май 2017, 21:40

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 247 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.
Автор Сообщение
СообщениеДобавлено: 18 авг 2011, 03:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
В этом уроке мы:

- научимся обращаться из кода к View-элементам на экране и менять их свойства

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 27 апр 2017, 14:34, всего редактировалось 11 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 31 янв 2012, 18:21 
Аватар пользователя

Зарегистрирован: 31 янв 2012, 18:00
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Совет: простой способ добавить import в проект, это воспользоваться сочетанием клавиш Ctrl+Shift+O, недостающие пакеты будут автоматически определены и вставлены.

Цитата:
Tip: An easy way to add import packages to your project is to press Ctrl-Shift-O (Cmd-Shift-O, on Mac). This is an Eclipse shortcut that identifies missing packages based on your code and adds them for you. You may have to expand the import statements in your code for this to work.
http://developer.android.com/resources/tutorials/hello-world.html#ui


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 фев 2012, 01:10 

Зарегистрирован: 25 фев 2012, 01:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Здравствуйте, возникла такая проблемка - отсутствует R.id, при попытке записать константы в другие классы - ничего не происходит. Так же пробовал в ручную создать пункт id - все равно в него ничего не записывается, в чем проблема? Тварю на платформе 2.1, может это как-то сказывается?

___________________________________________

Кажется с проблемой разобрался - было создано 3 проекта, а ID составлялся для всех в 1 проекте, нужно было сменить адрес так сказать. С кодом еще не связывал компоненты, т.е. могу еще дописать это сообщение)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 фев 2012, 15:16 

Зарегистрирован: 27 фев 2012, 14:52
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
package ru.startandroid.develop.viewbyid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView myTextView = (TextView) findViewById(R.id.myText);
myTextView.setText("New text in TextView");

Button myBtn = (Button) findViewById(R.id.myBtn);
myBtn.setText("My button");
myBtn.setEnabled(false);

CheckBox myChb = (CheckBox) findViewById(R.id.myBtn);
myChb.setChecked(true);
}
}
что не правильно в этом коде? у меня в эклипсе подчёркивает "myBtn" не понять почему всё правельно делал!и исправить imortom нельзя!)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 фев 2012, 15:23 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
vano писал(а):
что не правильно в этом коде? у меня в эклипсе подчёркивает "myBtn" не понять почему всё правельно делал!и исправить imortom нельзя!)


layout-файл точно сохранен?

Удалите и снова добавьте кнопку в layout и сохраните все.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 фев 2012, 12:31 
Аватар пользователя

Зарегистрирован: 21 фев 2012, 19:11
Сообщений: 15
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Button myBtn = (Button) findViewById(R.id.myBtn);
  2. CheckBox myChb = (CheckBox) findViewById(R.id.myBtn);

Попробуйте сменить id элементов.
и какой конкретно myBtn подчеркивает эклипс?
в коде их 5

PS попробуйте поискать во вкладке Problems
там обычно и ошибки и предупреждения


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 фев 2012, 14:14 

Зарегистрирован: 27 фев 2012, 14:52
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
можете пожалуйста показать конечный код main, r.java. прсто понять не могу и ошибку так быстрее найду)заранее спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 мар 2012, 11:30 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
main.xml

Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:layout_width="fill_parent"
  4.    android:layout_height="fill_parent"
  5.    android:orientation="vertical" >
  6.  
  7.     <TextView
  8.        android:layout_width="fill_parent"
  9.        android:layout_height="wrap_content"
  10.        android:text="@string/hello"
  11.        android:id="@+id/myText"
  12.        />
  13.  
  14.     <Button
  15.        android:id="@+id/myBtn"
  16.        android:layout_width="wrap_content"
  17.        android:layout_height="wrap_content"
  18.        android:text="Button" />
  19.  
  20.     <CheckBox
  21.        android:id="@+id/myChb"
  22.        android:layout_width="wrap_content"
  23.        android:layout_height="wrap_content"
  24.        android:text="CheckBox" />
  25.  
  26. </LinearLayout>
  27.  


R.java:

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. /* AUTO-GENERATED FILE.  DO NOT MODIFY.
  2.  *
  3.  * This class was automatically generated by the
  4.  * aapt tool from the resource data it found.  It
  5.  * should not be modified by hand.
  6.  */
  7.  
  8. package ru.startandroid.develop.viewbyid;
  9.  
  10. public final class R {
  11.     public static final class attr {
  12.     }
  13.     public static final class drawable {
  14.         public static final int ic_launcher=0x7f020000;
  15.     }
  16.     public static final class id {
  17.         public static final int myBtn=0x7f050001;
  18.         public static final int myChb=0x7f050002;
  19.         public static final int myText=0x7f050000;
  20.     }
  21.     public static final class layout {
  22.         public static final int main=0x7f030000;
  23.     }
  24.     public static final class string {
  25.         public static final int app_name=0x7f040001;
  26.         public static final int hello=0x7f040000;
  27.     }
  28. }
  29.  

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Также обработать spinner.
СообщениеДобавлено: 14 май 2012, 23:34 

Зарегистрирован: 12 май 2012, 22:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Возможно ли также, как в уроке, обработать spinner?
Пытаюсь сделать по аналогии, не работает toast (видимо, не вызывается обработчик).
Хотя код обработчика кнопки (рядом находящегося) вызывается, toast работает.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public class MainActivity extends Activity implements OnClickListener, OnItemSelectedListener {
  2.         Button buttonVideo;
  3.         Spinner spinnerUpperLight, spinnerBottomLight;
  4.        @Override
  5.                 public void onCreate(Bundle savedInstanceState) {
  6.                     Spinner spinnerUpperLight = (Spinner) findViewById(R.id.upperlight);
  7.                     spinnerUpperLight.setAdapter(adapterLight);
  8.                     spinnerUpperLight.setOnItemSelectedListener(this);
  9.  
  10.                     buttonVideo = (Button) findViewById(R.id.videoButton);    
  11.                     buttonVideo.setOnClickListener(this);
  12.                 }
  13.         }
  14. ...
  15.         public void onClick(View v) {
  16.                 if (v.getId()==R.id.videoButton) {
  17.                         if (buttonVideo.getText()==getString(R.string.videoButtonRecord)) {
  18.                                 buttonVideo.setText(R.string.videoButtonStop);
  19.                                 Toast.makeText(getBaseContext(), "Запись Видео", Toast.LENGTH_SHORT).show();
  20.                         }
  21.                 }
  22.         }
  23.         public void onItemSelected(AdapterView<?> parent, View v, int lightLevel, long id) {
  24.                 if (v.getId()==R.id.upperlight) {
  25.                         light.setUpperLight(lightLevel);
  26.                         Toast.makeText(getBaseContext(), "Верхняя подсветка: " + lightLevel, Toast.LENGTH_SHORT).show();
  27.                 }
  28.         }
  29. }


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Также обработать spinner.
СообщениеДобавлено: 15 май 2012, 10:37 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
fend писал(а):
Возможно ли также, как в уроке, обработать spinner?


А урок 56 уже смотрели?

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 май 2012, 10:19 

Зарегистрирован: 12 май 2012, 22:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Да, по нему и делал.
Возможно ли, что дело в отсутствии @Override перед OnItemSelected?
Ппросто когда изначально OnItemSelected был в OnCreate, то пришлось убрать @Override - эклипс ругался, и без этой директивы заработало.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 май 2012, 12:19 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
Чет я невнимательно посмотрел первый раз.

А зачем вы это условие проверяете?
v.getId()==R.id.upperlight

Здесь v - это один из пунктов списка spinner. А сам spinner - это parent.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 май 2012, 19:54 

Зарегистрирован: 12 май 2012, 22:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
там два подобных, upperlight и bottomlight.
просто выкинул абсолютно идентичный код для краткости.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 май 2012, 08:56 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
fend писал(а):
там два подобных, upperlight и bottomlight.
просто выкинул абсолютно идентичный код для краткости.


Вам надо проверять не v, а parent.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 май 2012, 09:02 

Зарегистрирован: 12 май 2012, 22:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
ясно. а можно подробнее или ссылку на объяснение?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 май 2012, 11:20 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
fend писал(а):
ясно. а можно подробнее или ссылку на объяснение?

В коде вместо v.getId()==R.id.upperlight, напишите parent.getId()==R.id.upperlight

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 май 2012, 19:00 

Зарегистрирован: 12 май 2012, 22:05
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
ага, заработало. спасибо большое.
теоретический вопрос - а почему при работе со спиннером в данном примере мы обращаемся не к view, а к адаптеру?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 май 2012, 09:53 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1329
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
fend писал(а):
теоретический вопрос - а почему при работе со спиннером в данном примере мы обращаемся не к view, а к адаптеру?

Адаптер мы используем только здесь: spinner.setAdapter(adapter);
А AdapterView - это View.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 июл 2012, 13:42 

Зарегистрирован: 26 июл 2012, 13:36
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Доброго времени суток.
Столкнулся с идиотской проблемой, но не могу понять почему может не добавлять элемент TextView. При этом то, что в хмл - отображается нормально, но программный элемент не добавляется. Где дырка?

Ниже ХМЛ и код

Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1.   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.                 android:id="@+id/RelativeCompany"
  3.                 android:layout_width="fill_parent"
  4.                  android:layout_height="fill_parent">
  5.  
  6.       <LinearLayout
  7.          android:id="@+id/LinearCompany"
  8.          android:layout_width="match_parent"
  9.          android:layout_height="match_parent"
  10.          android:orientation="vertical" >
  11.  
  12.           <TextView
  13.              android:id="@+id/textView1"
  14.              android:layout_width="wrap_content"
  15.              android:layout_height="wrap_content"
  16.              android:text="TextView" />
  17.  
  18.           <TextView
  19.              android:id="@+id/textView2"
  20.              android:layout_width="wrap_content"
  21.              android:layout_height="wrap_content"
  22.              android:text="TextView" />
  23.  
  24.       </LinearLayout>
  25.        
  26.   </RelativeLayout>
  27.  


java
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package com.example.mobilewecanomy;
  2.  
  3. import android.os.Bundle;
  4. import android.app.Activity;
  5. import android.widget.LinearLayout;
  6. import android.widget.TextView;
  7. import android.widget.Toast;
  8.  
  9. public class companies extends Activity {
  10.  
  11.         LinearLayout thisLayout;
  12.        
  13.     @Override
  14.     public void onCreate(Bundle savedInstanceState) {
  15.         super.onCreate(savedInstanceState);
  16.         setContentView(R.layout.companies);          
  17.        
  18.         thisLayout = (LinearLayout) findViewById(R.id.LinearCompany);
  19.      
  20.                         TextView tv = new TextView(getApplicationContext());
  21.                         tv.setText("1111111");
  22.                 //      textView.setTextSize(100);
  23.                 //      textView.setTextColor(Color.BLACK);
  24.                 //      textView.setGravity(Gravity.CENTER);
  25.                 //      textView.setBackgroundColor(Color.BLUE);
  26.                         thisLayout.addView(tv);
  27.     }
  28. }
  29.  


UPD получилось так, что отдельно данный код работает, но не работает в составе "флиппера" который листает экраны. Похоже надо колупаться там.

Варианты как можно прописать и тоже заработало
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. TextView tv = new TextView(this);

или
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. TextView tv = new TextView(thisLayout.getContext());


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 авг 2012, 22:26 

Зарегистрирован: 30 янв 2012, 21:15
Сообщений: 21
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Маленький вопрос:
В уроке вы сделали кнопку не активной, а есть ли у EditText какой нибудь метод, чтобы запретить редактирование(сделать не активным)?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 247 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB