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

Android при переносе кода MainActivity в фрагмент Tab1 происходит ошибка

25.04.2018, 13:36. Просмотров 276. Ответов 0
Метки нет (Все метки)

помогите перенести с MainActivity все в фрагмент Tab1
подчеркивает this , Tab1() , @Override , Toast.makeText(this,s,Toast.LENGTH_LONG).show();
ошибки
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
BaseApp.get(this).getInjector().inject(this);
 Tab1 fragment = new Tab1();
 
 @Override
    protected void onDestroy() {
        super.onDestroy();
        presenter.onDetachView();
    }
 
 @Override
    public void showToast(String s) {
        Toast.makeText(this,s,Toast.LENGTH_LONG).show();
    }
 
    @Override
    public void onFragmentInteraction(Uri uri) {
 
    }
код 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package com.step.lifehuck.mvp.views;
 
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
 
import com.step.lifehuck.R;
import com.step.lifehuck.di.BaseApp;
import com.step.lifehuck.entities.Good;
import com.step.lifehuck.mvp.contracts.MainContract;
import com.step.lifehuck.utils.adapters.LifeHuckRVAdapter;
 
import java.util.List;
 
import javax.inject.Inject;
 
import io.reactivex.Observable;
import io.reactivex.subjects.PublishSubject;
 
public class MainActivity extends AppCompatActivity implements MainContract.view,Tab1.OnFragmentInteractionListener,Tab2.OnFragmentInteractionListener,Tab3.OnFragmentInteractionListener   {
    @Inject MainContract.presenter presenter;
    RecyclerView huchsRecyclerView;
    LifeHuckRVAdapter huckRVAdapter;
    ProgressBar progressBar;
 
 
 
    void initRecycler(){
        huckRVAdapter = new LifeHuckRVAdapter();
        huchsRecyclerView = findViewById(R.id.rvLifeHucks);
        huchsRecyclerView.setAdapter(huckRVAdapter);
        huchsRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    }
 
    Button upadateBtn;
 
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BaseApp.get(this).getInjector().inject(this);
        upadateBtn = findViewById(R.id.btnUpd);
 
        progressBar = findViewById(R.id.indicator);
        progressBar.setVisibility(View.GONE);
 
        initRecycler();
 
 
        presenter.onAttachView(this);
 
 
 
 
 
 
        TabLayout tabLayout = (TabLayout)findViewById(R.id.tablayout);
        tabLayout.addTab(tabLayout.newTab().setText("Главная"));
        tabLayout.addTab(tabLayout.newTab().setText("Одежда"));
        tabLayout.addTab(tabLayout.newTab().setText("Сувениры"));
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
 
        final ViewPager viewPager = (ViewPager)findViewById(R.id.pager);
        final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(),tabLayout.getTabCount());
        viewPager.setAdapter(adapter);
        viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
 
        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }
 
            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
 
            }
 
            @Override
            public void onTabReselected(TabLayout.Tab tab) {
 
            }
        });
 
 
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        presenter.onDetachView();
    }
 
    @Override
    public void showGoods(List<Good> goods) {
        huckRVAdapter.setGoods(goods);
    }
 
    @Override
    public void showIndicator() {
        progressBar.setVisibility(View.VISIBLE);
        huchsRecyclerView.setVisibility(View.GONE);
    }
 
    @Override
    public void hideIndicetor() {
        progressBar.setVisibility(View.GONE);
        huchsRecyclerView.setVisibility(View.VISIBLE);
    }
 
    @Override
    public Observable<Integer> onUpdateClick() {
        PublishSubject<Integer> subject = PublishSubject.create();
        upadateBtn.setOnClickListener(view->subject.onNext(view.getId()));
        return subject;
    }
 
    @Override
    public Observable<String> onSelectView() {
        return huckRVAdapter.onItemClick();
    }
 
    @Override
    public void showToast(String s) {
        Toast.makeText(this,s,Toast.LENGTH_LONG).show();
    }
 
    @Override
    public void onFragmentInteraction(Uri uri) {
 
    }
}


код Tab1
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
package com.step.lifehuck.mvp.views;
 
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
 
import com.step.lifehuck.R;
import com.step.lifehuck.di.BaseApp;
import com.step.lifehuck.entities.Good;
import com.step.lifehuck.mvp.contracts.MainContract;
import com.step.lifehuck.utils.adapters.LifeHuckRVAdapter;
 
import java.util.List;
 
import javax.inject.Inject;
 
import io.reactivex.Observable;
import io.reactivex.subjects.PublishSubject;
 
 
public abstract class Tab1 extends Fragment implements MainContract.view{
 
 
    @Inject
    MainContract.presenter presenter;
    RecyclerView huchsRecyclerView;
    LifeHuckRVAdapter huckRVAdapter;
    ProgressBar progressBar;
 
 
    void initRecycler(){
        huckRVAdapter = new LifeHuckRVAdapter();
        huchsRecyclerView = huchsRecyclerView.findViewById(R.id.rvLifeHucks);
        huchsRecyclerView.setAdapter(huckRVAdapter);
        huchsRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    }
 
 
 
    Button upadateBtn;
    // 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 Tab1() {
        // Required empty public constructor
    }
 
 
    // TODO: Rename and change types and number of parameters
    public static Tab1 newInstance(String param1, String param2) {
        Tab1 fragment = new Tab1();
        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);
 
 
        }
        BaseApp.get(this).getInjector().inject(this);
//        upadateBtn = findViewById(R.id.btnUpd);
//
//        progressBar = findViewById(R.id.indicator);
        progressBar.setVisibility(View.GONE);
 
        initRecycler();
 
 
        presenter.onAttachView(this);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_tab1, 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;
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        presenter.onDetachView();
    }
 
    @Override
    public void showGoods(List<Good> goods) {
        huckRVAdapter.setGoods(goods);
    }
 
    @Override
    public void showIndicator() {
        progressBar.setVisibility(View.VISIBLE);
        huchsRecyclerView.setVisibility(View.GONE);
    }
 
    @Override
    public void hideIndicetor() {
        progressBar.setVisibility(View.GONE);
        huchsRecyclerView.setVisibility(View.VISIBLE);
    }
 
    @Override
    public Observable<Integer> onUpdateClick() {
        PublishSubject<Integer> subject = PublishSubject.create();
        upadateBtn.setOnClickListener(view->subject.onNext(view.getId()));
        return subject;
    }
 
    @Override
    public Observable<String> onSelectView() {
        return huckRVAdapter.onItemClick();
    }
 
    @Override
    public void showToast(String s) {
        Toast.makeText(this,s,Toast.LENGTH_LONG).show();
    }
 
    @Override
    public void onFragmentInteraction(Uri uri) {
 
    }
 
    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void onFragmentInteraction(Uri uri);
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2018, 13:36
Ответы с готовыми решениями:

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist"
Starting: Intent { act=android.intent.action.MAIN cat=...

Как сделать доступ к MainActivity из класса android.app.Instrumentation?
как сделать доступ к MainActivity из класса android.app.Instrumentation? ...

Что означает этот код? (ide android studio, файл MainActivity)
package com.example.user.myapplication; import android.app.Activity; import...

Ошибка в написании кода в Android studio
только начал изучать программирование, начал писать простенькую программку на...

Android virtual device. При нажатии на "Ок" ничего не происходит
Всем привет! проблема с созданием виртуального устройства, установил adt скачал...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2018, 13:36

Проблемы при перенесении кода с Delphi на Android
Есть написанная программа на Delphi и я хочу сделать аналогичную для андроида,...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал...

Необходимо при помощи SQL запроса скопировать ВСЕ записи из TAB1 DB1 в TAB1 DB2
Здравствуйте уважаемые специалисты и гуру SQL. Прошу Вашей помощи для...


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

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

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