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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
#1

Свайп страниц с разным контентом - Android

15.08.2013, 12:48. Просмотров 2100. Ответов 7
Метки нет (Все метки)

Привет всем!
Такая "проблема". есть свайп страниц, напиcанный с помощью ViewPager. Проблема в том что нужно листать 2 страницы, когда листаешь нужно чтобы первая прост layout вторая это был activity с listView

Я соооовсем еще зеленый в этой сфере(программирование на android) А сделать нужно как можно быстрее( Можете объяснить попроще))) Заранее премного благодарен)

вот мой код если нужно^^

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
46
package com.auca.intouch;
import java.util.ArrayList;
import java.util.List;
 
import android.app.Activity;
//import android.app.ActionBar;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
 
public class MainScreen extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_screen);
        LayoutInflater inflater = LayoutInflater.from(this);
        List<View> pages = new ArrayList<View>();
        
        
        
        View page = inflater.inflate(R.layout.menu, null);
        
        //TextView textView = (TextView) page.findViewById(R.id.text_view);
        //textView.setText("Страница 1");
        pages.add(page);
        
        page = inflater.inflate(R.layout.page, null);
        //textView = (TextView) page.findViewById(R.id.text_view);
        //textView.setText("Страница 2");
        pages.add(page);
        
        //page = inflater.inflate(R.layout.page, null);
        //textView = (TextView) page.findViewById(R.id.text_view);
        //textView.setText("Страница 3");
        //pages.add(page);
        
        SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(pages);
        ViewPager viewPager = new ViewPager(this);
        viewPager.setAdapter(pagerAdapter);
        viewPager.setCurrentItem(1);     
        
        setContentView(viewPager);
    }
}


сам лист

Кликните здесь для просмотра всего текста
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
package com.auca.intouch;
 
//import com.studying.lists.R;
//import com.studying.lists.MainActivity.MyAdapter;
 
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
 
public class menu extends ListActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        
        setListAdapter((ListAdapter) new MyAdapter(this,
                android.R.layout.simple_list_item_1,R.id.textView1, 
                getResources().getStringArray(R.array.menu)));
    }
    private class MyAdapter extends ArrayAdapter<String>
    {
        public MyAdapter(Context context, int resource, int textViewResourceId,
                String[] strings) {
            super(context, resource, textViewResourceId, strings);
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View row = inflater.inflate(R.layout.menu, parent, false);
            String[] items = getResources().getStringArray(R.array.menu);
            ImageView iv= (ImageView) findViewById(R.id.imageView1);
            TextView tv = (TextView) findViewById(R.id.textView1);
            tv.setText(items[position]);
            if(items[position].equals("Chat"))
            {
                iv.setImageResource(R.drawable.chat);
            }
            else if(items[position].equals("Mail"))
            {
                iv.setImageResource(R.drawable.mail);
            }
            else if(items[position].equals("Schedule"))
            {
                iv.setImageResource(R.drawable.shcedule);
            }
            else if(items[position].equals("Options"))
            {
                iv.setImageResource(R.drawable.ic_launcher);
            }
            return row;
        }
}
}

нужно чтобы один из pages был listView с кодом со второго спойлера
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
15.08.2013, 13:47     Свайп страниц с разным контентом #2
Здесь смотрели?
http://startandroid.ru/ru/uroki/vse-...viewpager.html
Создаете два фрагмента с разными наполнениями

Добавлено через 15 минут
И вот ссылка на пост, в котором есть пустой проект с перелистыванием экранов
Перелистывание экранов
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
15.08.2013, 23:17  [ТС]     Свайп страниц с разным контентом #3
Digetix
спасибо ооочень хорошая ссылка почитал... Эмм я извиняюсь но не могли бы вы помочь мне еще кое в чем) я не совсем понял как создать тут отдельный фрагмент чтобы листать его... то есть не совсем понял как java файл показать на экране так сказать... если не трудно конечно)
то есть что хочется))) чтобы скажем всего 2 листа(ну это там понятно как сделать конечно), первый был просто с какой нибудь картинкой, а второй с листом String)
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
16.08.2013, 00:15     Свайп страниц с разным контентом #4
Вы проект Slide скачали?

Добавлено через 2 минуты
Импортируйте его себе и посмотрите. Там листаются три фрагмента.
Вот первый фрагмент
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.slide;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
public class FragmentView1 extends Fragment {   
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
        
        View myView = inflater.inflate(R.layout.about, container, false);
        
      
        return myView;
    }
}
Вместо R.layout.about (а точнее вместо about) пишете свой layout, на котором может быть всё что угодно (картинка, строка (текст), список и т.д.)
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
16.08.2013, 00:57  [ТС]     Свайп страниц с разным контентом #5
Во первых спасибо за то что помогаете мне) ваши советы очень помогают)
это понятно как забивать разными xml файлами а вот я хочу создать свой кастом лист вью создать

и скажем чтобы его сделать мне нужно запихнуть во view не просто фрагмент а класс листАктивити
package com.example.swipewithfragments;

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
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
public class MenuList extends ListActivity{
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };
        
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.list_menu2, R.id.label, values);
        setListAdapter(adapter);
    }
 
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
    }
}
и как понял по коду http://startandroid.ru/ru/uroki/vse-...viewpager.html

нужно вставить этот java class в кусок
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
          View view = inflater.inflate(null, null);
          if(pageNumber == 0)
          {
              view = inflater.inflate(R.layout.menu_list, null);
              
 
                
          }
          else if(pageNumber == 1)
          {
              view = inflater.inflate(R.layout.layout_fragment, null);
                
                TextView tvPage = (TextView) view.findViewById(R.id.tvPage);
                tvPage.setText("Page " + pageNumber);
                tvPage.setBackgroundColor(backColor);
          }
        
        return view;
      }
если я ошибаюсь поправьте меня
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
16.08.2013, 01:11     Свайп страниц с разным контентом #6
Дубль 2
Цитата Сообщение от Digetix Посмотреть сообщение
Вы проект Slide скачали?
?
Цитата Сообщение от SAVA93 Посмотреть сообщение
и скажем чтобы его сделать мне нужно запихнуть во view не просто фрагмент а класс листАктивити
Кидаете на xml фрагмента ListView, в коде фрагмента "находите" его и ставите туда данные через кастом адаптер
http://startandroid.ru/ru/uroki/vse-...j-adapter.html
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 647
16.08.2013, 01:34     Свайп страниц с разным контентом #7
Вот вам проект и с картинкой, и текстом, и ListView.
Там и пример нажатия на пункт ListView
Вложения
Тип файла: rar SlideList.rar (1.11 Мб, 53 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 19:39     Свайп страниц с разным контентом
Еще ссылки по теме:

Android Кнопки и свайп
Свайп меню actionbar Android
Страницы и наполнение страниц Android
Jsoup: парсинг странички и заполнение контентом Activity Android
Android Webview, контроль загрузки страниц

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

Или воспользуйтесь поиском по форуму:
SAVA93
1 / 1 / 0
Регистрация: 24.12.2011
Сообщений: 86
16.08.2013, 19:39  [ТС]     Свайп страниц с разным контентом #8
Digetix, Блин, спасибо ОГРОМУЩЕЕ), И еще послеееедний вопрос если не сложно какой метод из них отвечает за открытие первой страницы? Допустим мне нужно сначала открыть страницу 3?

Добавлено через 11 минут
Отмена все нашел.... сори Digetix, спасибо еще раз
Java
1
 mViewPager.setCurrentItem(3);
Yandex
Объявления
16.08.2013, 19:39     Свайп страниц с разным контентом
Ответ Создать тему
Опции темы

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