0

次のように、FragmentActivity から拡張された Main アクティビティがあります。

public class Main extends FragmentActivity{
public static FragmentManager fragmentManager;
public static CustomFragmentAdapter mAdapter;
...
//I can access to canAccessFromMain() in SecondTab like this:
((SecondTab)Main.mAdapter.getRegisteredFragment(1)).canAccessFromMain();
}

次のように、2 つのフラグメントを使用します。

public class SecondTab extends Fragment implements ISimpleDialogListener{
...
//Access to objects in Main like this:
googleMap = ((SupportMapFragment)Main.fragmentManager.findFragmentById(R.id.map)).getMap();
...

@Override
public void onPositiveButtonCLicked(int requestedCode){
if(requestedCode == 12}{
//Do something //Problem is here, it's never called!
}
...

public void canAccessFromMain(){
mImageView.setVisibility(View.invisible);
}

private void DoSomething(){
//I test all of these, but not working:
//getActivity(),getActivity().getSupportFragmentManager()
//getActivity(),((SecondTab )Main.mAdapter.getRegisteredFragment(1))).getFragmentManager()
//Main.fragmentManager
SimpleDialogFragment.createBuilder(getActivity(),getActivity().getSupportFragmentManager()
.setTitle("ttt")
.setMessage("mmm")
.setPositiveButtonText("OK").setRequestCode(12)
.setNegativeButtonText("No")
.show();

...
}

そして、これは CustomFragmentAdapter クラスです:

//liek this: http://stackoverflow.com/questions/8785221/retrieve-a-fragment-from-a-viewpager
class CustomFragmentAdapter extends FragmentStatePagerAdapter{
...
public Fragment getRegisteredFragment(int position){
return registeredFragments.get(posotion);
}

このライブラリを使用してアラート メッセージを表示しています: https://github.com/inmite/android-styled-dialogs

secondtab フラグメントに表示される正または負のボタンを押しても、何も起きないのはなぜですか?

4

2 に答える 2

2

setTargetFragment()ビルダーでメソッドを呼び出すのを忘れました。

于 2014-08-03T22:47:17.217 に答える