분열에 문제가 있으며 시작 활동 후 바로 이것을 호출합니다.분열성에서 특정 분열을 시작하는 방법
나는 3 개의 단편으로 분획 활성을 갖는다. 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 또는 탭 위로 스 와이프하여 조각을 선택할 수 있습니다.
하지만 이제는 조각 No.0이 아닌 활동을 시작하는 것이 좋습니다. 조각 번호 1 또는 2로 시작하는 것이 좋습니다.
어떻게 알 수 있습니까?
분열에 문제가 있으며 시작 활동 후 바로 이것을 호출합니다.분열성에서 특정 분열을 시작하는 방법
나는 3 개의 단편으로 분획 활성을 갖는다. 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 또는 탭 위로 스 와이프하여 조각을 선택할 수 있습니다.
하지만 이제는 조각 No.0이 아닌 활동을 시작하는 것이 좋습니다. 조각 번호 1 또는 2로 시작하는 것이 좋습니다.
어떻게 알 수 있습니까?
원하는 조각을 지정하는 인 텐트에 추가를 추가 한 다음 onCreate()
내부의 의도를 확인하십시오. 당신의 활동에서 다음
Intent intent = new Intent(this, ActivityWithFragments.class);
intent.putExtra("start_index", 2);
startActivity(intent);
: 인덱스가 충분한 경우,이 같은 것을 할 수
@Override
protected void onCreate(Bundle saved) {
super.onCreate(saved);
/* normal onCreate code: setContentView, findViewById, etc...*/
final Intent intent = getIntent();
int startIndex = intent.getIntExtra("start_index", 0);
// use startIndex to show the appropriate fragment
}
당신은 setCurrentItem을 (사용)을
myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), this);
viewPager.setAdapter(myPagerAdapter);
viewPager.setCurrentItem(1); // 1 for page No. 1
네, 감사합니다 흠뻑.
그게 전부입니다.
코드가 정확히 무엇을하고 새로운 부분을 구현했는지 이해하는 데 더 많은 시간이 필요했습니다.
하지만 지금은 잘 돌아가고 있으며, 내가 좋아하는 것을합니다. :-)
다른 이해 관계자의 경우 아래 코드를 작성합니다.
package com.example.packagename;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.FragmentTransaction;
import android.content.SharedPreferences;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
public class Main_Activity extends FragmentActivity
{
ViewPager viewPager;
PagerAdapterSection sectionsAdapter;
PagerAdapterTab tabAdapter;
ActionBar actionBar;
private SharedPreferences spActivityLaunch;
private SharedPreferences.Editor spEditorActivityLaunch;
private int startFragmentIndex;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.spActivityLaunch = this.getSharedPreferences("ActivityLaunchSettings", 0);
this.startFragmentIndex = spActivityLaunch.getInt("FragmentNo", 0);
if(Build.VERSION.SDK_INT >= 11)
{
setupTabsUpSDK11();
}
else
{
setupTabsLowerSDK11();
}
}
@SuppressLint("NewApi")
private void setupTabsUpSDK11()
{
setContentView(R.layout.main_layout);
tabAdapter = new PagerAdapterTab(getSupportFragmentManager());
viewPager = (ViewPager)findViewById(R.id.pager);
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
spEditorActivityLaunch = spActivityLaunch.edit();
spEditorActivityLaunch.putInt("FragmentNo", position);
spEditorActivityLaunch.commit();
}
});
viewPager.setAdapter(tabAdapter);
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener()
{
@Override
public void onTabReselected(android.app.ActionBar.Tab tab, FragmentTransaction ft)
{
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
{
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(android.app.ActionBar.Tab tab, FragmentTransaction ft)
{
}
};
actionBar.addTab(actionBar.newTab().setText("Fragment1").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Fragment2").setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Fragment3").setTabListener(tabListener));
viewPager.setCurrentItem(startFragmentIndex);
}
private void setupTabsLowerSDK11()
{
setContentView(R.layout.main_layout_lower_version);
sectionsAdapter = new PagerAdapterSection(getSupportFragmentManager());
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
spEditorActivityLaunch = spActivityLaunch.edit();
spEditorActivityLaunch.putInt("FragmentNo", position);
spEditorActivityLaunch.commit();
}
});
viewPager.setAdapter(sectionsAdapter);
viewPager.setCurrentItem(this.startFragmentIndex);
}
}