我正在創建一個警報應用程序,警報選項是一個片段活動。應該爲每個新警報添加一個活動的新實例,我已經達到了這一點,並且我能夠正確地做到這一點,甚至通過在其中定義onClickListeners來修改每個片段中的參數。但現在我想引用我在片段的java類中創建的變量,我不知道是如何因爲我剛剛添加它們而我不知道它們的名稱或任何內容。多次添加它後引用一個片段
活動中,我創建片段的新實例:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarms);
final android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
Button button_newAlarm = (Button)findViewById(R.id.button_new_alarm);
button_newAlarm.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) { //CREATES A NEW ALARM
android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
alarm_fragment alarmFragment = new alarm_fragment();
fragmentTransaction.add(R.id.alarmListContainer,alarmFragment);
fragmentTransaction.commit();
}
;
}
);
}
一個我在該片段中的類修改變量
public class alarm_fragment extends Fragment {
public boolean check_sunday = true;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_alarm_fragment, container, false);
final TextView button_check_sunday = (TextView) view.findViewById(R.id.check_sunday);
button_check_sunday.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
if (check_sunday) {
button_check_sunday.setTextColor(Color.BLACK);
check_sunday = false;
} else {
button_check_sunday.setTextColor(Color.WHITE);
check_sunday = true;
}
};
}
);
我認爲其目的是爲每個片段設置一個警報,而不是訪問相同的靜態警報。設置在每個片段? – headuck
我發現通過使用一個整數來設置警報「數字」,我可以通過TAG識別片段('fragmentTransaction.add(R.id.alarmListContainer,alarmFragment,String.valueOf(alarmsAmount));') 現在我還不知道如何引用這些變量。 –