我想用製表符(3個選項卡)編寫一個滑動視圖。我希望每個'頁面'是一個活動。 我使用的代碼是tutorial,但不幸的是每個'頁面'只能有一個片段。用選項卡輕掃視圖:活動還是片段?
我試圖做的是將我的活動轉換成碎片(但我仍然得到一些NullPointerException)。
使用片段而不是活動(我使用的是:AlarmManager,OnCheckedChangeListener,PackageManager,AlertDialog等)是否安全? 有沒有更好的方法來解決我的問題?
謝謝。
============================================== ========================
(UPDATE 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
使用後你的代碼相處的錯誤,所以我們可以理解問題。同樣是的,你應該在使用滑動功能時使用片段 – 2015-02-10 02:08:21
@AshwinNarayanan請檢查我更新的問題。 – 2015-02-10 14:33:00