Hello!
I have:
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 CHAPTERS ;
@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; }
In R.array.Heads I have more than 100 items, and I want to implement adding bookmarks. That is, either by calling the context menu, or by pressing the button, so that the selected item will be added to the "BOOKMARKS" fragment, and so that you can select any item and add it to the next tab "BOOKMARKS".
Also still interested ;
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); } });
Is it possible to implement this intent differently, since I have more than 100 chapters? Or will I need an if (position ==?) And prescribe an intent for each position, as shown in the code?
if
can be replaced withswitch-case
. - s8am 4:34 pmTextView
in the markup. In the database you keep records: id, chapter, chapter contents. When you click on the list, you get the record ID, transfer this ID by intent to the second activation. In the second activation by the received ID, select from the database about the contents of the chapter and set the received text inTextView
. See the implementation of the Master / Detail Flow pattern. If it is still not clear, create a new question for this issue. - pavlofff