Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Dgaizer
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 437
1

Fragment и ListView

18.12.2015, 23:33. Просмотров 476. Ответов 2
Метки нет (Все метки)

Задача необходимо сделать 2 фрагмента в 1-находится Listview в нем кнопки подгружаемые из файла,
во 2 фрагменте описание как сделать так чтобы по нажатию на кнопки в listview работал выводил второй фрагмент информацию
Т.е нажали на елемент списка снизу 2 фрагмент отобразил инфу можно ли такое вообще дайте пример сайт ссылку видео что нибудь
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2015, 23:33
Ответы с готовыми решениями:

Список ListView из Fragment
Добрый вечер. Вот такой вопрос и помощь ваша очень нужна Вот на скрине я указал все что...

JSON из URL в ListView | Fragment
Здравствуйте! Есть фрагмент показывающий listView. Также есть локальный сайт...

Обновление fragment из другого fragment
Добрый вечер всем!! Подскажите пожалуйста как обновить один фрагмент из другого (а именно TextView...

Fragment
Eсть Activity состоящий из ActionBar в котором две вкладки, каждая из них это Fragment. Не пойму...

ListView. После добавления кнопки перестал быть доступен сам ListView
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам...

2
YuraAAA
1601 / 1333 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
18.12.2015, 23:54 2
Dgaizer, так а в чём проблема? Ловим нажатие в листе, упаковываем объект в bundle и переключаем фрагмент.
1
Dgaizer
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 437
18.12.2015, 23:59  [ТС] 3
YuraAAA, да я не так давно в андроиде не могу разобраться все что находил одни ошибки
activity_main.xml

Java
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.home.fragmentimytb.MainActivity">
 
 
 
 
 
    <fragment
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:name="com.example.home.fragmentimytb.Fragment2"
        android:id="@+id/fragment2"
        android:layout_centerVertical="true"
        android:layout_alignParentStart="true" />
 
    <fragment
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:name="com.example.home.fragmentimytb.Fragment1"
        android:id="@+id/fragment"
        android:layout_above="@+id/fragment2"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="39dp"
        android:layout_alignParentTop="true" />
 
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView" />
 
 
</RelativeLayout>
MainActivity.java
Java
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
42
43
44
45
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
public class MainActivity extends Activity implements Fragment1.OnSelectedButtonListener{
 
    Fragment fragment;
    FragmentTransaction fTrans;
 
    final String TAG = "run activity";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        ListView lvkot = (ListView) findViewById(R.id.listView);
        ArrayAdapter adapter = new ArrayAdapter(this, R.layout.my_itimsi);
 
 
 
 
 
 
 
    }
    @Override
    public void onButtonSelected(int buttonIndex) {
// подключаем FragmentManager
         android.app.FragmentManager fragmentManager = getFragmentManager();
 
        // Получаем ссылку на второй фрагмент по ID
        Fragment2 fragment2 = (Fragment2) fragmentManager
                .findFragmentById(R.id.fragment2);
 
        // Выводим нужную информацию
        if (fragment2 != null)
            fragment2.setDescription(buttonIndex);
    }
 
 
}
Fragment1.java
Java
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
42
43
44
45
46
47
48
49
50
51
52
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
 
/**
 * Created by Home on 18.12.2015.
 */
public class Fragment2 extends android.app.Fragment {
 
    private TextView mInfoTextView;
    private ImageView mCatImageView;
    private String[] mCatDescriptionArray;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
 
                             Bundle savedInstanceState) {
       // return super.onCreateView(inflater, container, savedInstanceState);
 
        View rootView =
                inflater.inflate(R.layout.fragment2 , container , false);
 
        mInfoTextView = (TextView) rootView.findViewById(R.id.textView1);
        mCatImageView = (ImageView) rootView.findViewById(R.id.imageView1);
 
        // загружаем массив из ресурсов
        mCatDescriptionArray = getResources().getStringArray(R.array.cats);
 
 
        return rootView;
 
    }
 
    public void setDescription(int buttonIndex) {
        String catDescription = mCatDescriptionArray[buttonIndex];
        mInfoTextView.setText(catDescription);
 
        switch (buttonIndex) {
            case 1:
                mCatImageView.setImageResource(R.drawable.riz);
                break;
            case 2:
                mCatImageView.setImageResource(R.drawable.zenit);
                break;
            case 3:
                mCatImageView.setImageResource(R.drawable.aa);
                break;
 
            default:
                break;
        }
    }
}
Fragment2.java
Java
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.example.home.fragmentimytb;
 
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
 
 
 
/**
 * Created by Home on 18.12.2015.
 */
public class Fragment1 extends android.app.Fragment implements  View.OnClickListener {
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
 
                             Bundle savedInstanceState) {
        // return super.onCreateView(inflater, container, savedInstanceState);
 
 
        View rootView = inflater.inflate(R.layout.fragment1, container, false);
 
        Button button1 = (Button) rootView.findViewById(R.id.button1);
        Button button2 = (Button) rootView.findViewById(R.id.button2);
        Button button3 = (Button) rootView.findViewById(R.id.button3);
 
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
 
 
 
 
 
        return rootView;
    }
    public interface OnSelectedButtonListener {
        void onButtonSelected(int buttonIndex);
    }
 
    @Override
    public void onClick(View v) {
 
        int buttonIndex = translateIdToIndex(v.getId());
 
        OnSelectedButtonListener listener = (OnSelectedButtonListener) getActivity();
        listener.onButtonSelected(buttonIndex);
        Toast.makeText(getActivity(), "Вы нажали на кнопку",
                Toast.LENGTH_SHORT).show();
 
 
    }
 
 
    int translateIdToIndex(int id) {
        int index = -1;
        switch (id) {
            case R.id.button1:
                index = 1;
                break;
            case R.id.button2:
                index = 2;
                break;
            case R.id.button3:
                index = 3;
                break;
        }
        return index;
    }
}
ВОТ ЧТО КУДА МНЕ ЗАПИЛИТЬ

Добавлено через 1 минуту
YuraAAA,
fragment1.xml
Java
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
 
        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Рыжик" />
 
        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Барсик" />
 
        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Мурзик" />
    
</LinearLayout>
fragment2.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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:weightSum="1">
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Описание кота"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textAlignment="center" />
 
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter"
        android:src="@drawable/abc_scrubber_control_to_pressed_mtrl_000" />
 
</LinearLayout>
0
18.12.2015, 23:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2015, 23:59

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

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с...

Activity и Fragment
Всем добрый вечер. Создал приложение новостей с 2 Activity и 1 Adapter. Сейчас решил в проект...

DialogFragment в Fragment
можно ли визивать DialogFragment с Fragment???


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

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

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