我怎样才能在mainActivity中找到最后一个片段

编程入门 行业动态 更新时间:2024-10-25 00:35:44
本文介绍了我怎样才能在mainActivity中找到最后一个片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想让我的 viewPager 支持Rtl,并在最后一个片段上设置当前项目,但是当我在 MainActivity中编写此代码时.java ,我不知道如何访问最后一个片段。

I want to make my viewPager support Rtl, and set the current item on the last fragment, but when I write this code in my MainActivity.java, I don't know how I can access the last fragment.

根据这篇文章,我想让我的 viewPager 到Rtl:

According to this post, I want make my viewPager to Rtl:

iViewPager.setCurrentItem();

MainActivity.java ,我定义 viewPager :

package com.example.imajid.grid2.activities; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.view.GravityCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.example.imajid.grid2.R; import com.example.imajid.grid2.adapters.PagerAdapter; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //----------------------- set toolbar Toolbar iToolbar = (Toolbar) findViewById(R.id.xmlToolbar); setSupportActionBar(iToolbar); //------------------------------ initialize toolbar ActionBar actionBar = getSupportActionBar(); actionBar.setHomeAsUpIndicator(R.drawable.menu); actionBar.setDisplayHomeAsUpEnabled(true); //**************************** find tablayout *****************************// TabLayout iTabLayout = (TabLayout) findViewById(R.id.xmlTabLayout); iTabLayout.addTab(iTabLayout.newTab()); iTabLayout.addTab(iTabLayout.newTab()); iTabLayout.addTab(iTabLayout.newTab()); iTabLayout.setTabGravity(TabLayout.GRAVITY_FILL); //******************************* Array list for sending titles *********************************// ArrayList<String> viewPagersTitle = new ArrayList<String>(); viewPagersTitle.add("صفحه اصلی"); viewPagersTitle.add("فیلم"); viewPagersTitle.add("آهنگ"); //******************************* find view pager in xml *****************************// ViewPager iViewPager = (ViewPager) findViewById(R.id.xmlViewPager); //************************************** Rtlizer view pager ************************************ ====>iViewPager.setCurrentItem(); //************************************** find adapter for view pager *******************************// PagerAdapter viewPagerAdapter = new PagerAdapter(getSupportFragmentManager(), iTabLayout.getTabCount(), viewPagersTitle); //************************************ set adapter for view pager *******************************// iViewPager.setAdapter(viewPagerAdapter); //*********************************** setup tablayout to view pager********************************// iTabLayout.setupWithViewPager(iViewPager); mDrawerLayout = (DrawerLayout) findViewById(R.id.xmlDrawerLayoutRoot); //-------------------------------------- find navigation view NavigationView navigationView = (NavigationView)findViewById(R.id.xmlNavigation); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { menuItem.setChecked(true); mDrawerLayout.closeDrawers(); Toast.makeText(MainActivity.this, menuItem.getTitle(), Toast.LENGTH_SHORT).show(); return true; } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } //onoptionItemSelected @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); String btnName = null; switch (itemId){ case android.R.id.home: mDrawerLayout.openDrawer(GravityCompat.START); return true; case R.id.menu_setting: btnName = "Setting"; break; case R.id.menu_compass: btnName = "Compass"; break; case R.id.menu_help: btnName = "Help"; break; } Toast.makeText(MainActivity.this, "You clicked at " + btnName, Toast.LENGTH_SHORT).show(); return true; } }

最后,这是我的查看寻呼机适配器:

Finally, this is my view pager adapter:

package com.example.imajid.grid2.adapters; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import com.example.imajid.grid2.fragments.TabFragment1; import com.example.imajid.grid2.fragments.TabFragment2; import com.example.imajid.grid2.fragments.TabFragment3; import java.util.ArrayList; /** * Created by imajid on 12/8/2015. */ public class PagerAdapter extends FragmentStatePagerAdapter { private ArrayList<String> titles; int numOfTabs; public PagerAdapter(FragmentManager fm, int numOfTabs, ArrayList<String> titles) { super(fm); this.numOfTabs = numOfTabs; this.titles = titles; } @Override public Fragment getItem(int position) { switch (position) { case 0: TabFragment1 tab1 = new TabFragment1(); return tab1; case 1: TabFragment2 tab2 = new TabFragment2(); return tab2; case 2: TabFragment3 tab3 = new TabFragment3(); return tab3; default: return null; } } @Override public int getCount() { return this.numOfTabs; } @Override public CharSequence getPageTitle(int position) { return titles.get(position); } }

推荐答案

becuse我使用:

becuse i use :

setCurrentItem(viewPagerAdapter.getCount());

在设置适配器之前它不起作用我应该在设置adpter之后编写这段代码,谢谢致Kevin Chris和K Neeraj Lal。

before the setting the adapter it's not working and i should write this code after the setting the adpter , thanks to Kevin Chris and K Neeraj Lal .

更多推荐

我怎样才能在mainActivity中找到最后一个片段

本文发布于:2023-10-28 00:54:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1535020.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:片段   中找到   mainActivity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!