不幸的是,我不知道这种类型的设计正确的Android术语:如何用两个运行不同查询的按钮在Android ListView中创建一个头文件?
我根据我的Android应用程序一个ListView元素,并在其上类(在上面图片(1)备注(2)和LISTS(1))被选中,我想在ListView中显示不同的结果。
所以,我的问题如下:
我如何才能使这项工作延长我的ListView?我只需要放置在顶部的两个不同的按钮,还是有一个特定的视图使用?
不幸的是,我不知道这种类型的设计正确的Android术语:如何用两个运行不同查询的按钮在Android ListView中创建一个头文件?
我根据我的Android应用程序一个ListView元素,并在其上类(在上面图片(1)备注(2)和LISTS(1))被选中,我想在ListView中显示不同的结果。
所以,我的问题如下:
我如何才能使这项工作延长我的ListView?我只需要放置在顶部的两个不同的按钮,还是有一个特定的视图使用?
尝试使用TabLayout,检查此link
也许是最好的解决办法是使用TabLayout与使用ViewPager两个片段(一个为每个标签)。检查提供的全面教程链接
我想你想创建一个选项卡式视图。要使用android材质设计创建选项卡式视图,您可以使用TabLayout和View Pager。
对于每个选项卡,您需要创建一个片段。这样
public class Tab1 extends Fragment {
//Overriden method onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Returning the layout file after inflating
//Change R.layout.tab1 in you classes
return inflater.inflate(R.layout.tab1, container, false);
}
}
看到我们正在返回inflater.inflate(r.layout.tab1 .. 这是你想要显示的标签的XML资源文件。
您还需要一个适配器你的类可以使用FragmentStatePagerAdapter类实现。
public class Pager extends FragmentStatePagerAdapter {
//integer to count number of tabs
int tabCount;
//Constructor to the class
public Pager(FragmentManager fm, int tabCount) {
super(fm);
//Initializing tab count
this.tabCount= tabCount;
}
//Overriding method getItem
@Override
public Fragment getItem(int position) {
//Returning the current tabs
switch (position) {
case 0:
Tab1 tab1 = new Tab1();
return tab1;
case 1:
Tab2 tab2 = new Tab2();
return tab2;
case 2:
Tab3 tab3 = new Tab3();
return tab3;
default:
return null;
}
}
//Overriden method getCount to get the number of tabs
@Override
public int getCount() {
return tabCount;
}
}
,最后只实现标签在你的活动。
public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener{
//This is our tablayout
private TabLayout tabLayout;
//This is our viewPager
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Adding toolbar to the activity
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Initializing the tablayout
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
//Adding the tabs using addTab() method
tabLayout.addTab(tabLayout.newTab().setText("Tab1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab3"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
//Initializing viewPager
viewPager = (ViewPager) findViewById(R.id.pager);
//Creating our pager adapter
Pager adapter = new Pager(getSupportFragmentManager(), tabLayout.getTabCount());
//Adding adapter to pager
viewPager.setAdapter(adapter);
//Adding onTabSelectedListener to swipe views
tabLayout.setOnTabSelectedListener(this);
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
}
欲了解更多详细信息结帐本教程这对我工作绝对好。 Android TabLayout Example using ViewPager and Fragments
这些是标签;您可以根据用户选择哪个选项卡来加载适当的数据。 – Eenvincible
谢谢!对,就是那样。 – user3475602