我有一個變量,我從共享首選項時,我加載應用程序。Android/Java的理解,當我能夠使用/覆蓋變量
我首先初始化變量
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final String camera_type = booth_preferences.getString("camera_key", "back");
再後來下了線,我得到的變量,並用它做什麼
if(camera_type.equals("front")){
//do something
} else if(camera_type.equals("ext")){
//do something
} else {
//do something
}
現在,經過直接,如果聲明,我有一個onclick聽衆應該改變並更新該偏好。
camera_button_front.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
edit_preferences.putString(camera_key, "front").commit();
}
});
camera_button_back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
edit_preferences.putString(camera_key, "back").commit();
}
});
camera_button_ext.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
edit_preferences.putString(camera_key, "ext").commit();
}
});
但是,當我試圖改變變量camera_type
我得到的錯誤,指出「不能將值分配給最後一個變量‘camera_type’」。
camera_button_ext.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
edit_preferences.putString(camera_key, "ext").commit();
camera_type = "ext";
}
});
我曾經在onclick希望它會完全寫入變量後恢復變量。
camera_button_ext.setOnClickListener(new View.OnClickListener() {
String camera_type;
public void onClick(View v) {
//do something
edit_preferences.putString(camera_key, "ext").commit();
camera_type = "ext";
}
});
如果我要刪除final
那麼我不能在if語句中使用該變量。
我是新來的Java,所以這應該是一個簡單的答案,我只是不知道我在做什麼錯誤的組合。