Показать оповещение о сообщении SimpleDialogFragment во фрагменте

У меня есть основная активность, которая наследуется от FragmentActivity, например:

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();
}

С двумя фрагментами, например:

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

Почему, когда я нажимаю положительную или отрицательную кнопку, которая отображается во фрагменте второй вкладки, ничего не происходит?


person Dr.jacky    schedule 02.08.2014    source источник


Ответы (2)


Вы забыли вызвать метод setTargetFragment() в своем компоновщике.

person David Vávra    schedule 03.08.2014

Вам следует реализовать OnClickListener.

person Driss Nakayama Samy    schedule 02.08.2014
comment
В библиотеке есть собственный слушатель, который я реализовал из ISimpleDialogListener и переопределил его метод onPositiveButtonCLicked. - person Dr.jacky; 03.08.2014