Advertisement
Guest User

Untitled

a guest
Jul 1st, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v4.app.Fragment;
  5. import android.support.v4.app.FragmentActivity;
  6. import android.support.v4.app.FragmentManager;
  7. import android.support.v4.app.FragmentPagerAdapter;
  8. import android.support.v4.app.ListFragment;
  9. import android.support.v4.view.ViewPager;
  10. import android.view.ContextMenu;
  11. import android.view.LayoutInflater;
  12. import android.view.Menu;
  13. import android.view.MenuItem;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.view.ContextMenu.ContextMenuInfo;
  17. import android.widget.AdapterView.AdapterContextMenuInfo;
  18. import android.widget.ArrayAdapter;
  19. import android.widget.ListView;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23.  
  24. public class MainActivity extends FragmentActivity
  25. {
  26. private ViewPager mViewPager;
  27.  
  28.  
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState)
  31. {
  32. super.onCreate(savedInstanceState);
  33. mViewPager = new ViewPager(this);
  34. mViewPager.setId(R.id.view_pager);
  35. mViewPager.setAdapter(new TestAdapter(getSupportFragmentManager()));
  36. setContentView(mViewPager);
  37. }
  38.  
  39. @Override
  40. public boolean onCreateOptionsMenu(Menu menu)
  41. {
  42. getMenuInflater().inflate(R.menu.main, menu);
  43. return super.onCreateOptionsMenu(menu) | true;
  44. }
  45.  
  46. @Override
  47. public boolean onOptionsItemSelected(MenuItem item)
  48. {
  49. if(item.getItemId() == R.id.action_search){
  50. startActivity(SearchActivity.createIntent(this));
  51. }
  52. return super.onOptionsItemSelected(item);
  53. }
  54.  
  55. public static class TestAdapter extends FragmentPagerAdapter
  56. {
  57. private static final String[] mTitles = { "Alpha", "Beta", "Gamma" };
  58.  
  59.  
  60. public TestAdapter(FragmentManager fm)
  61. {
  62. super(fm);
  63. }
  64.  
  65. @Override
  66. public Fragment getItem(int position)
  67. {
  68. return TestListFragment.newInstance(mTitles[position]);
  69. }
  70.  
  71. @Override
  72. public CharSequence getPageTitle(int position)
  73. {
  74. return mTitles[position];
  75. }
  76.  
  77. @Override
  78. public int getCount()
  79. {
  80. return mTitles.length;
  81. }
  82. }
  83.  
  84. public static class TestListFragment extends ListFragment
  85. {
  86. private static final String ARG_TITLE = "argTitle";
  87.  
  88. private String mTitle;
  89. private ListView mListView;
  90.  
  91.  
  92. public static TestListFragment newInstance(String title)
  93. {
  94. TestListFragment frag = new TestListFragment();
  95. Bundle args = new Bundle();
  96. args.putString(ARG_TITLE, title);
  97. frag.setArguments(args);
  98. return frag;
  99. }
  100.  
  101. @Override
  102. public void onCreate(Bundle savedInstanceState)
  103. {
  104. super.onCreate(savedInstanceState);
  105. mTitle = getArguments().getString(ARG_TITLE);
  106. }
  107.  
  108. @Override
  109. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  110. {
  111. ArrayList<String> testData = new ArrayList<String>(100);
  112. for(int i = 0; i < 100; i++){
  113. testData.add(mTitle + " Item " + (i + 1));
  114. }
  115. mListView = new ListView(getActivity());
  116. mListView.setId(android.R.id.list);
  117. mListView.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, testData));
  118. return mListView;
  119. }
  120.  
  121. @Override
  122. public void onResume()
  123. {
  124. super.onResume();
  125. registerForContextMenu(mListView);
  126. }
  127.  
  128. @Override
  129. public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
  130. {
  131. super.onCreateContextMenu(menu, v, menuInfo);
  132. menu.setHeaderTitle(((TextView)((AdapterContextMenuInfo)menuInfo).targetView).getText());
  133. menu.add("Item 1");
  134. menu.add("Item 2");
  135. menu.add("Item 3");
  136. }
  137.  
  138. @Override
  139. public boolean onContextItemSelected(MenuItem item)
  140. {
  141. if(getUserVisibleHint()){
  142. Toast.makeText(getActivity(),
  143. mTitle + " {" + item.getTitle() + ", " +
  144. ((TextView)((AdapterContextMenuInfo)item.getMenuInfo()).targetView).getText() +
  145. '}', Toast.LENGTH_SHORT).show();
  146. return true;
  147. }
  148. return super.onContextItemSelected(item);
  149. }
  150.  
  151. @Override
  152. public void onPause()
  153. {
  154. unregisterForContextMenu(mListView);
  155. super.onPause();
  156. }
  157. }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement