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

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

Войти
Регистрация
Восстановить пароль
 
Vladislavij
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 15
#1

Переход на фрагмент при открытии приложения - Android

07.03.2016, 19:06. Просмотров 245. Ответов 4

Доброго времени суток! Недавно начал заниматься разработкой Android приложения, разобрался с NavDrawer но столкнулся с проблемой, при заполнении главного активити на него накладываются другие, решил исправить это с помощью перехода на фрагмент сразу при открытии приложения, каким образом это можно реализовать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2016, 19:06     Переход на фрагмент при открытии приложения
Посмотрите здесь:

Переход в Play Google из приложения Android
Android Ошибка при открытии AlertDialog
Сохранить, восстановить данные при повороте (Фрагмент, Поток) Android
Android Переход через фрагмент на активити
Как совершить переход с андроид-приложения на страницу сайта? Android
При onBackPressed() фрагмент продолжает работать Android
Ошибка в открытии приложения на эмуляторе Android
Вызов метода при каждом открытии приложения Android
Android Переход из ListActivity в Фрагмент
Android Переход из уведомления в фрагмент активити
Ошибка при открытии проекта Android
Как восстановить значения при открытии приложения после нажатия кнопки назад Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
07.03.2016, 19:11     Переход на фрагмент при открытии приложения #2
код ?
Vladislavij
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 15
07.03.2016, 19:36  [ТС]     Переход на фрагмент при открытии приложения #3
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
 
 
 
    FragmentCategory fcategories;
    FragmentMarker fmarker;
    FragmentNew fnew;
    FragmentSearch fsearch;
    FragmentSend fsend;
    FragmentShare fshare;
    FragmentMain fmain;
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
 
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();
 
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
 
        fcategories = new FragmentCategory();
        fmarker = new FragmentMarker();
        fnew = new FragmentNew();
        fsearch = new FragmentSearch();
        fsend = new FragmentSend();
        fshare = new FragmentShare();
        fmain = new FragmentMain();
 
 
    }
 
 
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();
 
        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
 
        if (id == R.id.nav_main) {
            ftrans.replace(R.id.container, fmain);
        } else if (id == R.id.nav_camera) {
            ftrans.replace(R.id.container, fnew);
        } else if (id == R.id.nav_gallery) {
            ftrans.replace(R.id.container, fcategories);
        } else if (id == R.id.nav_slideshow) {
            ftrans.replace(R.id.container, fsearch);
        } else if (id == R.id.nav_manage) {
            ftrans.replace(R.id.container, fmarker);
        } else if (id == R.id.nav_share) {
            ftrans.replace(R.id.container, fshare);
        } ftrans.commit();
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
 
    public void goMBT (View v) {
        Intent intent = new Intent(this, MbtActivity.class);
        startActivity(intent);
    }
 
    public void showSettings(MenuItem item) {
        Intent intent = new Intent(this, MyPreferenceActivity.class);
        startActivity(intent);
    }
    
}
Добавлено через 2 минуты
Сверху код MainActivity, а вот код фрагмента который нужно выводить:

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package com.example.politech.feelbuy.fragments;
 
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
import com.example.politech.feelbuy.R;
 
/**
 * A simple {@link Fragment} subclass.
 * Activities that contain this fragment must implement the
 * {@link FragmentMain.OnFragmentInteractionListener} interface
 * to handle interaction events.
 * Use the {@link FragmentMain#newInstance} factory method to
 * create an instance of this fragment.
 */
public class FragmentMain extends android.app.Fragment {
    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;
 
    private OnFragmentInteractionListener mListener;
 
    public FragmentMain() {
        // Required empty public constructor
    }
 
    /**
     * Use this factory method to create a new instance of
     * this fragment using the provided parameters.
     *
     * @param param1 Parameter 1.
     * @param param2 Parameter 2.
     * @return A new instance of fragment FragmentMain.
     */
    // TODO: Rename and change types and number of parameters
    public static FragmentMain newInstance(String param1, String param2) {
        FragmentMain fragment = new FragmentMain();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_main, container, false);
    }
 
    // TODO: Rename method, update argument and hook method into UI event
    public void onButtonPressed(Uri uri) {
        if (mListener != null) {
            mListener.onFragmentInteraction(uri);
        }
    }
 
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }
 
    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }
 
    /**
     * This interface must be implemented by activities that contain this
     * fragment to allow an interaction in this fragment to be communicated
     * to the activity and potentially other fragments contained in that
     * activity.
     * <p/>
     * See the Android Training lesson <a href=
     * "http://developer.android.com/training/basics/fragments/communicating.html"
     * >Communicating with Other Fragments</a> for more information.
     */
    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void onFragmentInteraction(Uri uri);
    }
}
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
07.03.2016, 19:45     Переход на фрагмент при открытии приложения #4
Цитата Сообщение от Vladislavij Посмотреть сообщение
при заполнении главного активити на него накладываются другие
это как?

по коду там вообще никакие фрагменты никуда не добавляются
Vladislavij
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 15
07.03.2016, 19:59  [ТС]     Переход на фрагмент при открытии приложения #5
когда добавляю кнопки или текст в главный layout на других layout он отображается за контентом других layout'тов
Yandex
Объявления
07.03.2016, 19:59     Переход на фрагмент при открытии приложения
Ответ Создать тему
Опции темы

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