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

Переход между фрагментами - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? http://www.cyberforum.ru/android-dev/thread1240130.html
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: <LinearLayout...
Программирование Android Смена ориентации с портретной на альбомную методом create Добрый день! Имеется две ориентации: портреная и альбомная. Альбомная лежит в папке layout-land, портреная layout. При смене ориентации метод create вызывается снова, что сказывается на... http://www.cyberforum.ru/android-dev/thread1240041.html
Программирование Android Заблокировать доступ к программе
Нужно на время выполнения функции заблокировать доступ к приложению (так чтобы работал ProgressBar), как это сделать?
Android canvas Программирование Android
Как передать параметры в класс с методом onDraw? Этот самый класс мне нужно вызвать в xml! я так то сделал вложеный класс, и запускал его setContentView(new Grafik(this)); и пользовался...
Программирование Android Запуск стороннего .apk http://www.cyberforum.ru/android-dev/thread1239880.html
Подскажите как запустить из своего приложения, другое .apk(Зная его путь)
Программирование Android Как считывать данные с кнопки на наушниках? Как считывать данные с кнопки на наушниках? подробнее

Показать сообщение отдельно
Lers
13 / 13 / 3
Регистрация: 27.05.2012
Сообщений: 203

Переход между фрагментами - Программирование Android

08.08.2014, 19:54. Просмотров 1779. Ответов 3
Метки (Все метки)

Здравствуйте. Подскажите, как из одного фрагмента перейти на другой по нажатию кнопки?
Можно ли это реализовать через intent и startAcitivity() или нужно через replace().

Из этого фрагмента хочу перейти на фрагмент MoviesFragment
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
package info.androidhive.tabsswipe;
 
import android.content.ContentValues;
import android.content.Intent;
import android.content.res.Resources;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
 
 
 
 
public class PickChalenge extends Fragment {
    TextView txt;
    Button btnlose, btnfinish, btnmore;
    DataBase sqh;
    SQLiteDatabase sqdb;
    MoviesFragment frag1;
    FragmentTransaction fTrans;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
 
     frag1= new MoviesFragment();   
      txt = (TextView) rootView.findViewById(R.id.txt1);
      sqh = new DataBase(getActivity().getApplicationContext());
      sqdb = sqh.getWritableDatabase();
      btnmore = (Button) rootView.findViewById(R.id.btn3);
        btnmore.setOnClickListener(new OnClickListener() {
          public void onClick(View rootView) {
            
         switch(rootView.getId()) {  
         
         case R.id.btn3:
              Resources res = getResources();
             String[] mas = res.getStringArray(R.array.str);
             
             int min=0, max=6;
             int rand = (int) (min - 0.5 + Math.random()*(max-min+1));
             rand = Math.round(rand);                    
             txt.setText(mas[rand]);
             
            ContentValues cv = new ContentValues();
            cv.put(DataBase.PROGRESS, txt.getText().toString());
            // вызываем метод вставки
            sqdb.insert(DataBase.TABLE_NAME1, DataBase.PROGRESS, cv);
            
            
            Intent intent = new Intent (getActivity(), MoviesFragment.class);
            getActivity().startActivity(intent);
              break;
              
        default:
             break;
         }
          }
        });
                
        return rootView;
    }
 
}
MoviesFragment
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
package info.androidhive.tabsswipe;
 
import java.util.ArrayList;
 
import info.androidhive.tabsswipe.DataBase;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
public class MoviesFragment extends Fragment {
    
ListView lw1;
ArrayAdapter <String> adapter;
ArrayList <String> label = new ArrayList <String>();
DataBase sqh;
SQLiteDatabase sqdb;
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        View rootView = inflater.inflate(R.layout.fragment_movies, container, false);
        
        lw1 = (ListView) rootView.findViewById(R.id.listrdy);
        
        
        
        sqh = new DataBase(getActivity().getApplicationContext());
        sqdb = sqh.getWritableDatabase();
        
        
        return rootView;
    }
    
    @Override
    public void onResume(){
        super.onResume();
        Cursor cursor = sqdb.query(DataBase.TABLE_NAME1, new String[] {
                DataBase._ID, DataBase.PROGRESS }, null,null,null,null,null);
     
        while (cursor.moveToNext()) {
            int id = cursor.getInt(cursor.getColumnIndex(DataBase._ID));
            String name = cursor.getString(cursor.getColumnIndex(DataBase.PROGRESS));
            label.add(name);
        
        } 
        
        adapter = new ArrayAdapter <String> (getActivity().getApplicationContext(),android.R.layout.simple_list_item_1,label);
        lw1.setAdapter(adapter);    
    }
    @Override
    public void onStop() {
        super.onStop();
 
        sqdb.close();
        sqh.close();
    }
 
}
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
package info.androidhive.tabsswipe;
 
import info.androidhive.tabsswipe.adapter.TabsPagerAdapter;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
 
public class MainActivity extends FragmentActivity implements
        ActionBar.TabListener {
 
    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;
    
    // Tab titles
    private String[] tabs = { "Done", "Failed", "In Progress", "Chalenge" };
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // Initilization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(false);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        
 
        // Adding Tabs
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));
        }
 
        /**
         * on swiping the viewpager make respective tab selected
         * */
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 
            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }
 
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }
 
            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }
 
    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }
 
    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }
 
    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }
 
}

после нажатию на кнопку вот такой error: Unable to find explicit activity class {info.androidhive.tabsswipe/info.androidhive.tabsswipe.MoviesFragment}; have you declared this activity in your AndroidManifest.xml?.
Я так понимаю, что он ищет класс в манифесте, а я не хочу создавать отдельную Activity для фрагмента MoviesFragment
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru