1つのアクティビティに2つのフラグメントがあります。 最初のフラグメント:ユーザーが日付と時刻を選択してから「選択」ボタンを押します。 SQL DBに送信されたユーザーの選択。ユーザーは日付と時刻を選択することができます。 2番目のフラグメント:がListViewに設定されています。SQL DBから読み取ったユーザーのすべての選択(日付と時刻)。2つのフラグメントに1つのボタンを使用する方法
私の問題:私は、ユーザーの押しボタンを "CHOOSE" 断片1.
最初のフラグメント
public class ChooseTimeFragment extends Fragment {
String date,time,amPm;
Spinner spinnerDate,spinnerTime,spinnerAmPm;
private DbHelper db;
public ChooseTimeFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
final View view=inflater.inflate(R.layout.fragment_choose_time, container, false);
db = DbHelper.getInstance(view.getContext());
spinnerDate = (Spinner) view.findViewById(R.id.spinnerDate);
ArrayAdapter<CharSequence> adapterDate = ArrayAdapter.createFromResource(getActivity(),
R.array.date_array, android.R.layout.simple_spinner_item);
adapterDate.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDate.setAdapter(adapterDate);
date=spinnerDate.getSelectedItem().toString();
spinnerTime = (Spinner) view.findViewById(R.id.spinnerTime);
ArrayAdapter<CharSequence> adapterTime = ArrayAdapter.createFromResource(getActivity(),
R.array.time_array, android.R.layout.simple_spinner_item);
adapterTime.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerTime.setAdapter(adapterTime);
time=spinnerTime.getSelectedItem().toString();
spinnerAmPm = (Spinner) view.findViewById(R.id.spinnerAmPm);
ArrayAdapter<CharSequence> adapterAmpm = ArrayAdapter.createFromResource(getActivity(),
R.array.amPm_array, android.R.layout.simple_spinner_item);
adapterAmpm.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerAmPm.setAdapter(adapterAmpm);
amPm=spinnerAmPm.getSelectedItem().toString();
Button bChoose=(Button) view.findViewById(R.id.btnChooseDT);
bChoose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
initialize();
if(validate()){
db.addUserChooseDateAndTime(date,time+amPm,view.getContext());
}
}
});
return view;
}
private void initialize(){
date=spinnerDate.getSelectedItem().toString();
time=spinnerTime.getSelectedItem().toString();
amPm=spinnerAmPm.getSelectedItem().toString();
}
private boolean validate(){
boolean valid=true;
if (date.equals("DATE")||time.equals("TIME")){
Toast.makeText(getContext(),date + " Please Enter Date and Time", Toast.LENGTH_SHORT).show();
valid=false;
}
return valid;
}
}
第2のフラグメント ListViewコントロールを毎回更新するには成功していませんよ
public class ChosenListFragment extends Fragment {
private DbHelper db;
public static Activity myActivity;
public ChosenListFragment() {
}
MyChosenListViewAdapter adapter;
ListView listView;
ArrayList<TimeAndDate> timeAndDateArrayLis;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_chosen_list, container, false);
db = DbHelper.getInstance(view.getContext());
refreshList(view);
return view;
}
public void refreshList(View view){
ArrayList<TimeAndDate> timeAndDateArrayList =db.getListDateAndTime(getContext());
adapter = new MyChosenListViewAdapter(getContext(), timeAndDateArrayList);
listView = (ListView) view.findViewById(R.id.listDateAndTime);
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
lon g検索、助け?ありがとう!