0
Я использую MainActivity как функцию FragmentActivity и TabsPagerAdapter как FragmentPagerAdapter. У меня есть Statusbar как фрагмент (и страница вкладок) и добавление переключателя в фрагмент с этим кодом, во время события ничего не происходит.switch in fragment no event
public class Statusbar extends Fragment implements OnCheckedChangeListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View mLinearLayout = (View) inflater.inflate(R.layout.statusbar_fragment,
container, false);
Switch s = (Switch) getActivity().findViewById(R.id.swt1);
if (s != null) {
s.setOnCheckedChangeListener(this);
}
return mLinearLayout;
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(getActivity(), "hi",
Toast.LENGTH_SHORT).show();
}
}
В чем проблема? Если я удалю это: if (s != null) { ... }
сбой с ошибкой nullpointerexception.
работает! Спасибо! :) – fulmix
Могу ли я также узнать, в чем разница между ними? – fulmix
В фрагменте вид раздувается, и именно поэтому мы используем представление, чтобы найти элемент. В то время как в действии вы не используете какой-либо вид. Рад, что он помог –