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

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

Войти
Регистрация
Восстановить пароль
 
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
#1

Не могу получить достук к объекту в другом xml - Программирование Android

22.05.2015, 04:15. Просмотров 333. Ответов 8
Метки нет (Все метки)

Есть такая задача, поставил пример с боковым меню, оно соответственно работает с фрагментами. По умолчанию запускается определенный фрагмент.

Так же в MainActivity у меня загружаются данные (в id = List - ListView), которые я хочу выводить в файле фрагмента. Но вот это не получается.

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
Activity_mail.xml
 
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    
    <!-- Framelayout to display Fragments -->
    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        style="@style/MainActivity" >
 
        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#000"
            />
 
    </FrameLayout>
 
 
    <!-- Listview to display slider menu -->
 
    <ListView
        android:id="@+id/list_slidermenu"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:listSelector="@drawable/list_selector"
        android:background="@color/list_background" />
 
</android.support.v4.widget.DrawerLayout>

так вот если я помещаю list в Activity_mail.xml то все выводится, то это не совсем правильно, если я помещаю
fragment_news.xml то данные не загружаются((


XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fragment_news.xml 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#000"
        />
 
</RelativeLayout>
Для Activity_mail.xml
listView = (ListView) findViewById(R.id.list); и все работает

Для fragment_news.xml
listView = (ListView) findViewById(R.id.list); не работает
listView = (ListView) setContentView(R.layout.fragment_news).findViewById(R.id.list); - тогда получаю ошибку

java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.animalface.app/ru.animalface.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setOnItemClickListener(android.widget.AdapterView$OnItemClickListener)' on a null object reference
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2015, 04:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу получить достук к объекту в другом xml (Программирование Android):

Не могу получить значения свойства в другом модуле - C#
имеется класс public class QueryText { private string text; public QueryText() { } ...

Доступ к объекту созданному в другом методе - C#
class Program { static void Main(string args) { ...

XML. DOM. Не могу получить доступ к firstChild - C++ Qt
Вот xml-ка: &lt;queue time_measurement = &quot;ms&quot; resource_time_limit = &quot;4&quot;&gt; &lt;!-- time_measurement = {mm = minutes, ss = seconds, ms =...

Получить путь к объекту - C#
Добрый день! Мне нужно написать программу, которая при нажатии на кнопку &quot;Действие&quot; будет получать путь к файлу или папке, которые перед...

Получить доступ к объекту в массиве - PHP
создан класс... $user = new stdClass(); $user-&gt;provider = $auther-&gt;getProvider(); $user-&gt;socialId =...

Как получить доступ к объекту расположенному на ListBoxItem? - C++ Builder FireMonkey
Как получить доступ к объекту расположенном на ListBoxItem'е? Т.е. например, у меня динамически создаются айтемы с картинкой расположенных...

8
DocTorGold
1 / 1 / 0
Регистрация: 14.10.2014
Сообщений: 25
22.05.2015, 11:39 #2
Сам Фрагмент не точен, посмотри на наличие ошибок, могу лучше посмотреть, когда особожусь
0
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 13:06  [ТС] #3
В фрагменте никаких ошибок нет, он рабочий 100%

только почему-то у меня не получается заполнить его и mainActivity
0
Pablito
2499 / 1983 / 619
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
22.05.2015, 13:14 #4
в код не вникал и свой вариант не проверял

вместо listView = (ListView) findViewById(R.id.list);
listView = (ListView) getView().findViewById(R.id.list);
тоже не работает?
0
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 13:21  [ТС] #5
listView = (ListView) getView().findViewById(R.id.list);

Error128, 25) error: cannot find symbol method getView()
0
Pablito
2499 / 1983 / 619
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
22.05.2015, 13:25 #6
у меня в классе фрагмента, в методе onCreateView почему-то этот код не высвечивает ошибку
0
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 13:32  [ТС] #7
Вот так не ошибок:
Java
1
2
3
4
5
        setContentView(R.layout.fragment_news);
 
        listView = (ListView) findViewById(R.id.list);
 
        setContentView(R.layout.activity_main);
Но при этом я вижу только черный фон (такой стоит backroud у list)
Но при этом данных не вижу

если перемещаю list a main_activity то все отображается
Java
1
2
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
то с таким кодом все отображается
0
Pablito
2499 / 1983 / 619
Регистрация: 12.05.2014
Сообщений: 6,925
Завершенные тесты: 1
22.05.2015, 13:36 #8
Цитата Сообщение от motoroller Посмотреть сообщение
setContentView(R.layout.fragment_news);
listView = (ListView) findViewById(R.id.list);
setContentView(R.layout.activity_main);
у меня вопрос - ты понимаешь что конкретно делают эти три строки?
только не спеши строчить ответ, подумай что они делают, посмотри на последовательность и прикинь что получается
0
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 14:21  [ТС] #9
Этот метод заполняет контентом нашу Activity из xml layout'a
0
22.05.2015, 14:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2015, 14:21
Привет! Вот еще темы с ответами:

Как получить доступ к объекту другого класса - Программирование iOS
Здравствуйте друзья. Прошу помощи по вопросу В главном viewController cоздаю объект Label и записываю в него текст ...

Как получить путь до конкретного элмента ? | XML | DOM | Simple XML - PHP
Добрый день! Как Вы уже знаете, в Simple XML, чтобы получить доступ в XML файле к какому-либо элементу, нужно знать его путь....

Как отправить на сервер xml запрос с помощью post и получить ответ в xml? - PHP Сети
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

Как получить доступ к объекту, созданному в другой форме? - C#
Я создал два окна, MainForm и FormInfo. В классе MainForm создаётся объект типа WindowsMediaPlayer. И мне нужно сделать так, чтобы такая...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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