У меня есть следующая проблема. У меня есть Activity под названием OverviewActivity с его макетом, который реализует некоторые ImageButtons. Когда я нажимаю на «Профиль» ImageButton, OverviewActivity «приведет» меня к Activity под названием «ProfileActivity_2». Там я реализовал три Scrolltabs. Код выглядит следующим образом:Как реализовать ListView в фрагменте
public class ProfileActivity_2 extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile_scrolltabs);
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
FragmentManager fragmentManager = getSupportFragmentManager();
viewPager.setAdapter(new AdapterTab(fragmentManager));
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.chat, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_chat:
Intent mailbox = new Intent(this, MailboxListActivity.class);
startActivity(mailbox);
return true;
}
return true;
}
public static FragmentProfile newInstance(String username) {
FragmentProfile f = new FragmentProfile();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putString("username", username);
f.setArguments(args);
return f;
}
}
class AdapterTab extends FragmentPagerAdapter {
public AdapterTab(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = null;
if (i == 0) {
fragment = new FragmentProfile();
}
if (i == 1) {
fragment = new FragmentBorrowed();
}
if (i == 2) {
fragment = new FragmentLent();
}
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
String title = new String();
if (position == 0) {
return "Profil";
}
if (position == 1) {
return "geliehene Bücher";
}
if (position == 2) {
return "verliehene Bücher";
}
return null;
}
}
Итак, все работает нормально. Как вы можете видеть, у меня есть три вкладки, каждая из которых содержит фрагмент, который называется FragmentProfile, FragmentBorrowed и FragmentLent. Таким образом, первый «экран» или первая вкладка сохраняет FragmentProfile. Когда я перехожу на вторую вкладку (FragmentBorrowed), там есть еще две вкладки. Код выглядит следующим образом.
public class FragmentBorrowed extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_borrowed_tab2, container,
false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
TabHost tabhost = (TabHost) getView()
.findViewById(android.R.id.tabhost);
tabhost.setup();
Resources res = getResources();
TabSpec spec1 = tabhost.newTabSpec("tab1");
spec1.setContent(R.id.tab1);
spec1.setIndicator(res.getString(R.string.tablabel1));
tabhost.addTab(spec1);
TabSpec spec2 = tabhost.newTabSpec("tab2");
spec2.setContent(R.id.tab2);
spec2.setIndicator(res.getString(R.string.tablabel2));
tabhost.addTab(spec2);
}
}
Теперь я приду к своему актуальному вопросу. На обоих этих вкладках в FragmentBorrowed я хочу реализовать ListView для каждого. Поэтому, когда я нажимаю на первую вкладку, будет ListView, и когда я нажму на вторую вкладку, я получу другой ListView. Я пробовал так много вещей, смотрел так много учебников и читал на форуме stackoverflow, как реализовать ListView во Фрагменте, но я не смог найти решение для своей проблемы. Я попытался вызвать новое действие в FragmentBorrowed, но это не сработало так, как я ожидал, потому что Activity уже начнется, когда я нажму ImageButton «Профиль», о котором я упомянул ранее, и я хочу начать новую активность только тогда, когда переключусь на вторую вкладка (FragmentBorrowed).
Может кто-нибудь мне помочь?
PS .: Я хотел бы показать вам некоторые изображения приложения, но StackOverflow не позволяют это;)
Во-первых, спасибо за ваш ответ. Когда я изменяю ProfileActivity_2 на ListFragment, как я могу перейти из OverviewActivity в ProfileActivity_2. Во-вторых, не могли бы вы дать мне пример кода, ссылающегося на список, который вы предложили? Может быть, даже с моим кодом от ProfileActivity_2 и FragmentBorrowed? Это было бы очень приятно! :) –
То, что я понял из урского вопроса, состоит в том, что у вас есть активность Обзор активности, состоящий из трех кнопок изображения. В событии клика кнопки изображения профиля вы перешли к ProfileActivity_2, где вы использовали три вкладки, каждая из которых содержит один фрагмент. Теперь в вашем Fragment Borrowed у вас есть вложенные вкладки, т. Е. Две вкладки на одной вкладке. Теперь я прямо вверх. –
Теперь вы хотите, чтобы вложенные вкладки ur открывали два отдельных фрагмента, содержащих списки. –