Страница 10 из 14

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 03 окт 2014, 09:58
Persik
Я создала код, все шло нормально. Никаких ошибок. ProductsDay.class все показывает текст "Распродажа", "Поступление" и рисунок тоже. Но почему не показывает ProductsEnd.class текст и рисунок?

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:paddingLeft="8dp"
     android:paddingRight="8dp" >
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal" >
         <TextView
             android:id="@+id/stations"
             android:layout_width="wrap_content"
             android:layout_height="30dp"
             android:text="TextView" 
             android:layout_weight="0.5"
             android:gravity="center_horizontal"/>     
         <ImageView
             android:id="@+id/image"
             android:layout_width="wrap_content"
             android:layout_height="20dp"
             android:layout_weight="0"
             android:src="@drawable/common_signin_btn_icon_dark"  />
         <TextView
             android:id="@+id/stations2"
             android:layout_width="wrap_content"
             android:layout_height="30dp"
             android:text="TextView"
             android:layout_weight="0.5" 
             android:gravity="center_horizontal"/>
     </LinearLayout>
     <ListView
         android:id="@id/android:list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_weight="1"
         android:drawSelectorOnTop="false"
         android:scrollbars="none" >
     </ListView>
    </LinearLayout>
.java
public class ProductsDay extends ListFragment{
public class ProductsAdapter extends ArrayAdapter<String> {
Context myContext;
ListView listView;
public ProductsAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
myContext = context;}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater =
(LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.text_fragment, parent, false);
TextView text=(TextView) findViewById(R.id.text);
ray.setText("Распродажа");
ImageView imgView = (ImageView) findViewById(R.id.image);
imgView.setImageResource(R.drawable.right);
TextView text2=(TextView) findViewById(R.id.text2);
ray1.setText("Поступление");
return row;}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ProductsAdapter myListAdapter = new ProductsAdapter(getActivity(), R.layout.text_fragment, times);
setListAdapter(myListAdapter); }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { return inflater.inflate(R.layout.listview, container, false);}
}

public class ProductsEnd extends ListFragment{
public class ProductsAdapter extends ArrayAdapter<String> {
Context myContext;
ListView listView;
public ProductsAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
myContext = context;}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater =
(LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.text_fragment, parent, false);
TextView ray=(TextView)row.findViewById(R.id.text);
ray.setText("Распродажа");
ImageView imgView = (ImageView) row.findViewById(R.id.image);
imgView.setImageResource(R.drawable.right);
TextView ray1=(TextView)findViewById(R.id.text2);
ray1.setText("Поступление");
return row;}}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ProductsAdapter myListAdapter = new ProductsAdapter(getActivity(), R.layout.text_fragment, times);
setListAdapter(myListAdapter);}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.listview, container, false);}
}

Вопросик

Добавлено: 31 окт 2014, 17:38
ROMguru
Я прописал в свойстве кнопки [syntax=xml]android:id=@+id/btn_ok[/syntax]
Но в R.java определения элемента [syntax=java]public static final int btn_ok[/syntax] нет.
Что делать?
RE:
Разобрался. Вопрос закрыт.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 22 ноя 2014, 17:14
Vladimir991
Отличный урок, замечательный ресурс! Все отлично!

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 03 фев 2015, 11:43
Хомка Хомячок
Ой! В Android Studio возникают трудности с этим уроком! Вот установил AIDE, вроде как все начало вставать на свои места :)

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 09 фев 2015, 03:25
roddg
а где в студии R.java лежит?

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 09 фев 2015, 16:41
Tem@
У меня вопрос по поводу вывода приложения непосредственно на телефон.
При создании нового проекта и первом выводе все проходит хорошо, но при повторном выводе пишет ошибочку
Error:(21, 50) error: cannot find symbol variable myBtn
Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.

Может оно не хочет перезаписывать приложение? Удаление приложений не помогает.


Кстати по поводу поста выше, я тож не нашел R.java Делал урок без его просмотра.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 10 фев 2015, 20:55
Хомка Хомячок
Tem@ писал(а):
Кстати по поводу поста выше, я тож не нашел R.java Делал урок без его просмотра.
В андроид студио, есть поиск по файлам. Он вызывается простой комбинацие клавишь. Я простите запамятовал какими именно. Но R.Java быстро им нашлась в проекте.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 10 фев 2015, 22:57
doter.ua
Хомка Хомячок писал(а):
Tem@ писал(а):
Кстати по поводу поста выше, я тож не нашел R.java Делал урок без его просмотра.
В андроид студио, есть поиск по файлам. Он вызывается простой комбинацие клавишь. Я простите запамятовал какими именно. Но R.Java быстро им нашлась в проекте.
Случайно не дабл щифт ?

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 11 фев 2015, 01:13
Хомка Хомячок
doter.ua писал(а):Случайно не дабл щифт ?
Не, эт чёт не то совсем. Ctrl + n вроде.
Я андроид студио не пользуюсь. Она неудобная.
Я пользуюсь этой штуковиной http://4pda.ru/forum/index.php?showtopic=319369
Прям на андроиде всё можно собрать и запустить по быстрому. Эта штука хоть не виснет. И быстро работает.
Я уже собрал на ней простой браузер. И реализовал возможность перехода по заданным ссылкам в меню.
Но мне не нужен браузер. Мне нужны карты! Иначе я не вернусь в свой сказочный лес! :D

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 13 фев 2015, 17:38
dr.shifer
ребят помогите, нашел в студии R.java, но хоть убей не могу там найти айди, все прописал правильно, но его там нет=(

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 13 фев 2015, 17:47
doter.ua
dr.shifer писал(а):ребят помогите, нашел в студии R.java, но хоть убей не могу там найти айди, все прописал правильно, но его там нет=(
Да забей, делай следующий урок. Эта часть урока просто демонстрирует особенности идентификации элементов в андроид. Ты никогда не будешь редактировать этот файл, только читать(обращаться к статичным свойствам через "R."): R.id.myBtn и т.д.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 13 фев 2015, 17:51
doter.ua
Хомка Хомячок писал(а):
doter.ua писал(а):Случайно не дабл щифт ?
Не, эт чёт не то совсем. Ctrl + n вроде.
Я андроид студио не пользуюсь. Она неудобная.
Я пользуюсь этой штуковиной http://4pda.ru/forum/index.php?showtopic=319369
Прям на андроиде всё можно собрать и запустить по быстрому. Эта штука хоть не виснет. И быстро работает.
Я уже собрал на ней простой браузер. И реализовал возможность перехода по заданным ссылкам в меню.
Но мне не нужен браузер. Мне нужны карты! Иначе я не вернусь в свой сказочный лес! :D
Если ты не умеешь\не знаешь как пользоваться инструментом, это не означает, что он неудобный.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 19 фев 2015, 12:25
Алемарика
Огромное спасибо за уроки!
И ребятам, кто на вопросы отвечает, тоже огромное спасибо. Походу уроков возникли кое-какие вопросы - все ответы нашла на форуме на последних 2-3 страницах темы урока.

Может кому-то пригодится про нахождение R.java в Студио. Я перешла от вида отображения "Android" к "Packages" (в левом верхнем углу). А там p0081viewbyld -> ru.startandroid.p0081viewbyld -> test -> R.java

Только почему-то добавляет туда переменную не после сохранения, а после запуска. :shock:
Так что я воспользовалась советом, указанным выше, и в этот файл не заглядываю.
2015-02-19 12-16-33 Скриншот экрана.png
2015-02-19 12-16-33 Скриншот экрана.png (23.51 КБ) 16395 просмотров

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 22 фев 2015, 22:16
Nick678
Тоже не мог найти R.java в Android Studio.
Делается либо так, как написали в предыдущем комменте, либо комбинацией клавиш Ctrl+N, потом ввести в поле букву R, и там выбрать тот файл. Хотя вам он в принципе и не нужен. Все заносится туда автоматом.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 28 фев 2015, 20:15
PlanB
Как я понял. Могу ошибаться кончено, но мне помогло.
R.java в AS создаётся только когда в activity_main.xml коде нет ошибок что бы завершить компилацию. После НЕ надо перезагружать AS, а нажать на вкладочке Build кнопку Rebuild Project. После в соответствующем модуле появляется R.java где можно просмотреть все присвоенные ID элементов.

У меня вопрос к знатокам - зачем в уроке мы делаем акцент на создание View в main и присвоение ему id от TextView? Какой в этом смысл если мы потом переписываем код на TextView?

View myTextView = findViewById(R.id.myText);

Если View подчеркнуто красным, то скорей всего этот класс не добавлен в секцию import. Нажмите CTRL+SHIFT+O для автоматического обновления импорта.

Теперь myTextView (типа View) – это наш TextView на экране. Но тип View – это предок для TextView (и остальных View-элементов). И он нам не подходит, если мы хотим проделывать операции соответствующие TextView. Поэтому нам необходимо преобразование View в TextView. Изменим наш код на следующий:

TextView myTextView = (TextView) findViewById(R.id.myText);


У меня только один в голове возможный вариант - показать иерархию. Но даже с этой мыслью остаётся некоторая недосказанность. Прокомментируйте плиз.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 28 фев 2015, 21:17
doter.ua
PlanB писал(а): У меня вопрос к знатокам - зачем в уроке мы делаем акцент на создание View в main и присвоение ему id от TextView? Какой в этом смысл если мы потом переписываем код на TextView?
"потом переписываем код на TextView?" - конкретнее можно?

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 09 мар 2015, 21:41
Leanna
Если View подчеркнуто красным, то скорей всего этот класс не добавлен в секцию import. Нажмите CTRL+SHIFT+O для автоматического обновления импорта.
Прохожу в студии.
У меня View в Студии подчеркнуто красным. Нажимаю комбинацию, не реагирует. Как добавить в секцию импорт?

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 09 мар 2015, 22:03
doter.ua
Leanna писал(а):
Если View подчеркнуто красным, то скорей всего этот класс не добавлен в секцию import. Нажмите CTRL+SHIFT+O для автоматического обновления импорта.
Прохожу в студии.
У меня View в Студии подчеркнуто красным. Нажимаю комбинацию, не реагирует. Как добавить в секцию импорт?
Alt + Enter + курсор в месте, где подчеркивает.

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 12 мар 2015, 12:01
NovikPY
Алемарика писал(а):
Может кому-то пригодится про нахождение R.java в Студио. Я перешла от вида отображения "Android" к "Packages" (в левом верхнем углу). А там p0081viewbyld -> ru.startandroid.p0081viewbyld -> test -> R.java

Только почему-то добавляет туда переменную не после сохранения, а после запуска. :shock:
Так что я воспользовалась советом, указанным выше, и в этот файл не заглядываю.
Все верно, только дальше "p0081viewbyld -> ru.startandroid.p0081viewbyld" идти не нужно, так как R.java находится именно в этой папке, а не в папке "test" (даже на Вашем скриншоте видно что папка test не развернута ).
И да, в Android Studio "id" не добавляется путем сохранения (точнее, вы не увидите это как на примере Eclipse, пока не запустите проект). :D

Re: Урок 8. Работаем с элементами экрана из кода

Добавлено: 30 мар 2015, 03:05
KADRoid
Попогите пожалуйста. У меня в проекте не создается папка r. В некоторых проектах она есть. Где она должна быть я знаю.