Здравствуйте!
У меня имеется:
MainActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewPager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new Tab_Heads(), "ГЛАВЫ");
adapter.addFragment(new Tab_Bookmarks(), "ЗАКЛАДКИ");
viewPager.setAdapter(adapter);
}
Fragment ГЛАВЫ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_heads, container, false);
listView = (ListView) view.findViewById(R.id.listView);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
getActivity(), R.array.Heads, R.layout.list_line_items);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
return view;
}
В R.array.Heads у меня более 100 айтемов, и я хочу реализовать добавление закладок. То есть либо вызовом контекстного меню, либо нажатием на кнопку, чтобы выбранный айтем добавлялся во фрагмент "ЗАКЛАДКИ", и чтобы таким образом можно было выбрать любой айтем и добавлять его в следующий таб "ЗАКЛАДКИ".
Также еще интересует;
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0) Intent i = new Intent(getActivity, Head_1.class);
startActivity(i);
}
});
Возможно ли этот интент реализовать иначе, так как у меня более 100 глав? Или мне нужно будет if (position == ?) и к каждой позиции прописывать интент, как приведено в коде?
ifможно заменить наswitch-case. – s8am Aug 31 '16 at 16:34TextView. В БД вы храните записи: id, глава, содержимое главы. При клике в списке вы получаете ID записи, передаете этот ID интентом во вторую активити. Во второй активити по полученному ID делаете выборку из БД о содержимом главы и устанавливаете полученный текст вTextView. Смотрите реализацию паттерна Master/Detail Flow. Если все еще не понятно, создайте новый вопрос по этой проблеме. – pavlofff Sep 09 '16 at 04:23