3 / 3 / 1
Регистрация: 01.05.2012
Сообщений: 116
1

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

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

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

Так же в 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$OnItem ClickListener)' on a null object reference
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2015, 04:15
Ответы с готовыми решениями:

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

Не могу получить данные из XML файла.
Скажите пожалуйста что тут не так? не могу получить данные из XML файла. xml &lt;xml...

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

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

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

только почему-то у меня не получается заполнить его и mainActivity
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
22.05.2015, 13:14 4
в код не вникал и свой вариант не проверял

вместо listView = (ListView) findViewById(R.id.list);
listView = (ListView) getView().findViewById(R.id.list);
тоже не работает?
0
3 / 3 / 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
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
22.05.2015, 13:25 6
у меня в классе фрагмента, в методе onCreateView почему-то этот код не высвечивает ошибку
0
3 / 3 / 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
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
22.05.2015, 13:36 8
Цитата Сообщение от motoroller Посмотреть сообщение
setContentView(R.layout.fragment_news);
listView = (ListView) findViewById(R.id.list);
setContentView(R.layout.activity_main);
у меня вопрос - ты понимаешь что конкретно делают эти три строки?
только не спеши строчить ответ, подумай что они делают, посмотри на последовательность и прикинь что получается
0
3 / 3 / 1
Регистрация: 01.05.2012
Сообщений: 116
22.05.2015, 14:21  [ТС] 9
Этот метод заполняет контентом нашу Activity из xml layout'a
0
22.05.2015, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2015, 14:21
Помогаю со студенческими работами здесь

Получить несколько объектов в качестве аргументов и получить доступ к каждому объекту
Имеется несколько одинаковых объектов с разными данными. Пытаюсь передать их другому объекту при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru