私はALr.javaクラスとFragHandlerを持っています。 FragHandlerはTablayoutとviewpagerを持っています。 ALRとFragHandlerコードは以下のように記述されています。私はFragHandlerの3番目のタブである[設定]タブを開くには、activatealertメソッドを呼び出すことによってALRすなわちrl.setonclicklisternerをクリックします。私はタブ3.Android - 第3のタブを開き、インテントからダイアログ内のフラグメントを開きます
public class ALR extends Fragment {
TextView rl,
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) throws NullPointerException {
View view = inflater.inflate(R.layout.ar, container, false);
rl = (TextView) view.findViewById(R.id.reto);
rl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
activatealert();
});
public void activatealert() {
MaterialDialog activateald = new MaterialDialog.Builder(getActivity())
.content("In order to use these services, please click settings and set appropriate options to activate Where R U feature.")
.title("Activate Where R U")
.positiveColor(Color.BLUE)
.negativeColor(Color.RED)
.positiveText("Settings")
.negativeText("Cancel")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
Intent intent = new Intent(getActivity(),FragHandler.class);
intent.putExtra("Settings",2);
startActivity(intent);
}
})
.show();
}
}
を開こうとするとmはどこから
MyFragHandlerクラス
public class FragHandler extends AppCompatActivity
TabLayout tabLayout;
Toolbar customtoolbar;
SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alstabopener);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("1"));
tabLayout.addTab(tabLayout.newTab().setText("2"));
tabLayout.addTab(tabLayout.newTab().setText("Settings"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final AlsViewChanger adapter = new AlsViewChanger(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@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) {
}
});
}
}
と私のALR.java必要に応じて、それはタブ付きactivitiyが、最初のタブ第三ないが開きます。 Plsガイド。あなたのコードに基づいて
を得ることができるように、できるだけ多くの詳細を投稿してください。 plsは読んでガイドします。私はタブ3を呼び出す場所からALR.javaクラスのtablayoutとviewpagerを持っていないので、1または2の場合は役に立ちません。 – Panache
@Panache正しい場合、ケース1が必要です。 ALR.javaからFragHandlerアクティビティを開始し、 "Settings"フラグを渡しています。今度はFragHandlerのonCreateでViewPagerとTabLayoutを初期化するかもしれません。そのコードのすぐ下に、 のような行を追加してチェックしてみてください。viewPager.setCurrentItem(2);これはプログラムによって第3のタブが選択されるようにします。 –
私はクラスとより良い情報の両方を追加しました。 – Panache