Próbuję pokazać komunikat Toast, gdy użytkownik kliknie przycisk wewnątrz fragmentu. Problem polega na tym, że nie mogę uzyskać dostępu do działania, aby pokazać toast.Użyj Toast wewnątrz Fragment
Oto źródło Fragment
:
public class FrgTimes extends Fragment
{
ScrollView sv;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
if (container == null) { return null; }
sv = (ScrollView)inflater.inflate(R.layout.frg_times, container, false);
btnTime1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//****** HERE's the PROBLEM ********
Toast.makeText(<The Activity>, "Please long press the key", Toast.LENGTH_LONG);
}});
return sv;
}
A oto co ja próbowałem.
Toast.makeText(getActivity() , ...
Toast.makeText(getView().getContext() , ...
Toast.makeText(getActivity().getApplicationContext() , ...
Toast.makeText(sv.getContext() , ...
Toast.makeText(sv.getRootView().getContext() , ...
W Debug widzę, że wszystkie z tych kodów uruchomić bez wyjątku, ale nie TOAST
są wyświetlane.
Ten mały ** 'SHOW' ** zajmuje więcej niż 3 godziny ode mnie. Dzięki, teraz wszystko wydaje się piękne. – mammadalius
To jest mój standardowy błąd - dobrą wiadomością jest to, że Lint wykrywa ten błąd od SDK20. –
Stupid Me .. To był mój błąd. Nie dzwoniłam show() – John