Jak mogę pokazać to:getSupportFragmentManager nie kompiluje na DialogFragment
public class TagsDialog extends DialogFragment
{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.tags_dialog, null));
builder.setMessage("This is a message").setTitle("TAGS");
return builder.create();
}
}
Od wewnątrz mojego Fragment
Wewnątrz ViewPager
:
public class MyFragment extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
...
ImageView btnTags = (ImageView)view.findViewById(R.id.btnTags);
btnTags.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
DialogFragment dlg = new TagsDialog();
//this line doesn't compile
dlg.show(getSupportFragmentManager(), "tags");
}
});
}
}
Próbowałem przez wieki, aby uzyskać to do pracy, ale getSupportFragmentManager
nigdy nie został rozwiązany ... żadnych pomysłów?
EDIT:
czuję to wszystko jest spowodowane przez FragmentManager wsparcia kontra android.app.FragmentManager, jednak nie wiem, jak rozwiązać ten problem, ponieważ używam ViewPager z biblioteki wsparcia ...
getSupportFragmentManager/i wszystkie powiązane metody getFragManager, takie jak parent i child, zawsze zwracają menadżera z biblioteki wsparcia, przy czym metoda show chce rdzennego.
Imports to:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
FragmentManager fm = getActivity().getSupportFragmentManager(); // returns from support lib
DialogFragment dlg = new TagsDialog();
dlg.show(fm, "tags"); // wants core...
Gdybym po prostu użyć rdzenia, następnie getSupportFragmentManager()
nie istnieje na getActivity()
...
Co rozumiesz przez brak rozwiązania? Czy masz ślad stosu? – Snicolas
@Snicolas to się nie kompiluje. Znasz czerwoną linię sqiggly. – sprocket12
lol. Gdzie ? Której linii, podświetl // linka winowajcy – Snicolas