Я пытаюсь закодировать просмотры с вкладками (3 вкладки). Я хочу, чтобы каждая страница была Activity. Я использую код в этом tutorial, но, к сожалению, на каждой странице есть только фрагмент.Проведите просмотры с вкладками: активность или фрагмент?
Что я пытался сделать, это преобразовать мои действия во Фрагменты (но я все равно получаю некоторое исключение NullPointerException).
Можно ли использовать Фрагмент вместо Activity (в котором я использую: AlarmManager, OnCheckedChangeListener, PackageManager, AlertDialog ...)? Есть ли лучший способ решить мою проблему?
спасибо.
================================================================================================================================== ========================
(ДОПОЛНЕНО 1)
Вот код из преобразованного фрагмента:
public class TabFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private HashMap<String, String> myMap;
static private TextView usernameView;
private String mUsername;
private String permPassword;
private SharedPreferences pref;
private SharedPreferences prefCheckBox;
private TextView trackTextView;
private TextView logoutTextView;
private TextView settingsTextView;
private CheckBox trackCheckBox;
boolean isTrackingEnabled;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_home_profile, container, false);
final SessionManager session = new SessionManager(getActivity().getApplicationContext());
myMap = session.getUserDetails();
usernameView = (TextView) getActivity().findViewById(R.id.usernameText);
mUsername = myMap.get("username");
usernameView.setText("");
usernameView.setText(mUsername);
trackTextView = (TextView) view.findViewById(R.id.tracking_textView);
trackCheckBox = (CheckBox) view.findViewById(R.id.track_checkBox);
logoutTextView = (TextView) view.findViewById(R.id.log_out);
settingsTextView = (TextView) view.findViewById(R.id.settings);
prefCheckBox = getActivity().getApplicationContext().getSharedPreferences("Tracking Checkbox", 0); // 0 - for private mode
isTrackingEnabled = prefCheckBox.getBoolean("CheckBoxState", false);
// display checkbox previous state
trackCheckBox.setChecked(isTrackingEnabled);
logoutTextView.setOnClickListener(this);
trackTextView.setOnClickListener(this);
settingsTextView.setOnClickListener(this);
trackCheckBox.setOnCheckedChangeListener(this);
return view;
}
Я получаю NullPointerException для usernameView.setText("")
02-10 15:03:35.203 27866-27866/com.projectname E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
вывесить ошибку вы получаете вместе с кодом, так что мы можем понять вопрос. Также да, вы должны использовать фрагменты при использовании функций прокрутки. –
@AshwinNarayanan. Проверьте мой обновленный вопрос. –