时间选择器在Fragment中的运用

package com.goodfamily.gps.polling_and_maintenance.fragment;


import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;


import com.goodfamily.gps.polling_and_maintenance.R;
import com.goodfamily.gps.polling_and_maintenance.R.layout;


import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.util.Log;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;


/**
 * 查看考勤
 * 
 * @author Administrator
 * 
 */
public class CheckingAllFragment extends DialogFragment {
private Spinner spinner;
int mYear1, mMonth1, mDay1;
int mYear2, mMonth2, mDay2;
Button btnStart, btnStop;
TextView tvStartTime, tvStopTime;
final int START_DATE_DIALOG = 1;
final int STOP_DATE_DIALOG = 2;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.checking_all_fragment, null);
spinner = (Spinner) view.findViewById(R.id.spinner1);
btnStart = (Button) view.findViewById(R.id.btn_start_dateChoose);
tvStartTime = (TextView) view.findViewById(R.id.tv_start_dateDisplay);
btnStop = (Button) view.findViewById(R.id.btn_stop_dateChoose);
tvStopTime = (TextView) view.findViewById(R.id.tv_stop_dateDisplay);
final List<String> list = getDatas();
// 第二个参数是显示数据使用的布局文件的id
// 第三个参数是显示每个数据使用的布局中的TextView的 id
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(), android.R.layout.simple_list_item_1,
android.R.id.text1, list);
spinner.setAdapter(adapter);
// 让第一个数据项已经被选中
spinner.setSelection(0, true);
// 给Spinner添加事件监听
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {


// 当选中某一个数据项时触发该方法
/*
* parent接收的是被选择的数据项所属的 Spinner对象, view参数接收的是显示被选择的数据项的TextView对象
* position接收的是被选择的数据项在适配器中的位置 id被选择的数据项的行号
*/


@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}


@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String data = (String) spinner.getItemAtPosition(position);// 从spinner中获取被选择的数据
Toast.makeText(getActivity(), data, Toast.LENGTH_SHORT).show();
}
});
ButtonOnClickListener listener = new ButtonOnClickListener();
btnStart.setOnClickListener(listener);
btnStop.setOnClickListener(listener);
final Calendar ca = Calendar.getInstance();
mYear1 = ca.get(Calendar.YEAR);
mMonth1 = ca.get(Calendar.MONTH);
mDay1 = ca.get(Calendar.DAY_OF_MONTH);
mYear2 = ca.get(Calendar.YEAR);
mMonth2 = ca.get(Calendar.MONTH);
mDay2 = ca.get(Calendar.DAY_OF_MONTH);


return view;
}


/**
* 获得dialog
* @param id 标识id
* @return
*/
protected Dialog getMyDialog(int id) {
if (id == START_DATE_DIALOG) {
return new DatePickerDialog(getActivity(), mdateListener1, mYear1,
mMonth1, mDay1);
}
if (id == STOP_DATE_DIALOG) {
return new DatePickerDialog(getActivity(), mdateListener2, mYear2,
mMonth2, mDay2);
}
return null;
}


/**
* 设置日期 利用StringBuffer追加
*/
public void display() {
tvStartTime.setText(new StringBuffer().append(mYear1).append("-")
.append(mMonth1 + 1).append("-").append(mDay1).append(" "));
tvStopTime.setText(new StringBuffer().append(mYear2).append("-")
.append(mMonth2 + 1).append("-").append(mDay2).append(" "));
}


private DatePickerDialog.OnDateSetListener mdateListener1 = new DatePickerDialog.OnDateSetListener() {


@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear1 = year;
mMonth1 = monthOfYear;
mDay1 = dayOfMonth;
display();
}
};
private DatePickerDialog.OnDateSetListener mdateListener2 = new DatePickerDialog.OnDateSetListener() {


@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear2 = year;
mMonth2 = monthOfYear;
mDay2 = dayOfMonth;
display();
}
};




class ButtonOnClickListener implements OnClickListener {


@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start_dateChoose:
getMyDialog(START_DATE_DIALOG).show();
// getActivity().showDialog(START_DATE_DIALOG,null);
break;
case R.id.btn_stop_dateChoose:
getMyDialog(STOP_DATE_DIALOG).show();
// getActivity().showDialog(STOP_DATE_DIALOG);


break;
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值