Android 如何将数据从日期选择器和微调器传递到另一个活动

Android 如何将数据从日期选择器和微调器传递到另一个活动,android,android-activity,android-intent,Android,Android Activity,Android Intent,我是一个android开发者 我需要将数据从两个日期选择器和一个微调器传递到另一个活动 有人能帮我写这段代码吗 package qi.com; import java.text.DateFormat; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener;

我是一个android开发者

我需要将数据从两个日期选择器和一个微调器传递到另一个活动

有人能帮我写这段代码吗

package qi.com;
import java.text.DateFormat;
import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
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;

//multi date input
public class CoaActivity extends Activity implements AdapterView.OnItemSelectedListener {
    TextView selection;
    TextView mDateStart;
    TextView mDateEnd;
    Button mPickStart;
    Button mPickEnd;
    Calendar startDate;
    Calendar EndDate;
    int mYear;
    int mMonth;
    int mDay;

    //list menu
    String[] items = {"Pendapatan","Biaya"};

    static final int DATE_DIALOG_ID = 0;

    private TextView activeDateDisplay;
    private Calendar activeDate;



    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //display to text view from list View
        selection = (TextView) findViewById(R.id.selection);
        Spinner spin= (Spinner) findViewById(R.id.spinner);
        spin.setOnItemSelectedListener(this);

        ArrayAdapter<String> aa= new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, items);
        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(aa);

        //capture view elements
        mDateStart = (TextView) findViewById(R.id.DateStar);
        mPickStart = (Button) findViewById(R.id.btn_PickDateStart);

        //current date
        startDate = Calendar.getInstance();

        //listener click button
        mPickStart.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDateDialog(mDateStart, startDate);
            }
        });

        //END Date
        mDateEnd = (TextView) findViewById(R.id.DateEnd);
        mPickEnd = (Button) findViewById(R.id.btn_PickDateEnd);

        EndDate = Calendar.getInstance();

        //listener click button
        mPickEnd.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDateDialog(mDateEnd, EndDate);
            }
        });


        //display current date
        updateDisplay(mDateStart, startDate);
        updateDisplay(mDateEnd, EndDate);

        //Detail("tes");

    }

    private void updateDisplay(TextView dateDisplay, Calendar date) {
        dateDisplay.setText(
                new StringBuilder()
                    // Month is 0 based so add 1
                    //.append(date.get(Calendar.DAY_OF_MONTH)).append("-")
                    .append(date.get(Calendar.DATE)).append("-")
                    .append(date.get(Calendar.MONTH) + 1).append("-")
                    .append(date.get(Calendar.YEAR)).append(" "));

                //.append(DateFormat.getDateInstance(Calendar.MONTH)));

    }

    public void showDateDialog(TextView dateDisplay, Calendar date) {
        activeDateDisplay = dateDisplay;
        activeDate = date;
        showDialog(DATE_DIALOG_ID);
    }


    private OnDateSetListener dateSetListener = new OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            activeDate.set(Calendar.YEAR, year);
            activeDate.set(Calendar.MONTH, monthOfYear);
            //activeDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            activeDate.set(Calendar.DATE, dayOfMonth);
            updateDisplay(activeDateDisplay, activeDate);
            unregisterDateDisplay();


        }
    };




    private void unregisterDateDisplay() {
        activeDateDisplay = null;
        activeDate = null;
    }

    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_DIALOG_ID:

                return new DatePickerDialog(this, dateSetListener, activeDate.get(Calendar.YEAR), activeDate.get(Calendar.MONTH), activeDate.get(Calendar.DATE));
        }
        return null;
    }

    protected void onPrepareDialog(int id, Dialog dialog) {
        super.onPrepareDialog(id, dialog);
        switch (id) {
            case DATE_DIALOG_ID:
                ((DatePickerDialog) dialog).updateDate(activeDate.get(Calendar.YEAR), activeDate.get(Calendar.MONTH), activeDate.get(Calendar.DATE));
                break;
        }
    }

    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        selection.setText(items[position]);

        Intent grid=new Intent(this, Grid.class);
        this.startActivity(grid);

        //send to another activity
        //Detail(items[position]);

    }

    public void onNothingSelected(AdapterView<?> parent) {
        selection.setText("");
    }


    //another activity
    public void Detail(String id)
    //public void Detail()
    {   
        //Intent detail=new Intent(con, Detail.class);

        Intent grid=new Intent(this, Grid.class);
        grid.putExtra("IDP", id);
        this.startActivity(grid);


        //Toast.makeText(this, "list : " , Toast.LENGTH_SHORT).show();
    }
}
package qi.com;
导入java.text.DateFormat;
导入java.util.Calendar;
导入android.app.Activity;
导入android.app.DatePickerDialog;
导入android.app.DatePickerDialog.OnDateSetListener;
导入android.app.Dialog;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.DatePicker;
导入android.widget.Spinner;
导入android.widget.TextView;
导入android.widget.Toast;
//多日期输入
公共类CoaActivity扩展活动实现AdapterView.OnItemSelectedListener{
文本视图选择;
文本视图mDateStart;
文本视图mDateEnd;
按钮mPickStart;
按钮mPickEnd;
日历起始日期;
日历结束日期;
髓鞘内;
国际货币基金组织;
国际日;
//列表菜单
字符串[]项={“Pendapatan”,“Biaya”};
静态最终整数日期对话框ID=0;
私有文本视图activeDateDisplay;
私人日历活动日期;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//从列表视图显示到文本视图
selection=(TextView)findViewById(R.id.selection);
微调器旋转=(微调器)findViewById(R.id.Spinner);
spin.setOnItemSelectedListener(此);
ArrayAdapter aa=新的ArrayAdapter(这个,android.R.layout.simple\u微调器\u项,项);
aa.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转适配器(aa);
//捕获视图元素
mDateStart=(TextView)findViewById(R.id.DateStar);
mPickStart=(按钮)findViewById(R.id.btn\u PickDateStart);
//当前日期
startDate=Calendar.getInstance();
//侦听器单击按钮
mPickStart.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
showDateDialog(mDateStart、startDate);
}
});
//结束日期
mDateEnd=(TextView)findViewById(R.id.DateEnd);
mPickEnd=(按钮)findViewById(R.id.btn\u PickDateEnd);
EndDate=Calendar.getInstance();
//侦听器单击按钮
mPickEnd.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
showDateDialog(mDateEnd,EndDate);
}
});
//显示当前日期
updateDisplay(mDateStart、startDate);
updateDisplay(mDateEnd,EndDate);
//详情(“工商业污水附加费”);
}
私有void updateDisplay(文本视图日期显示、日历日期){
dateDisplay.setText(
新的StringBuilder()
//月份以0为基础,因此添加1
//.append(date.get(日历.月日)).append(“-”)
.append(date.get(Calendar.date)).append(“-”)
.append(date.get(Calendar.MONTH)+1.append(“-”)
.append(date.get(Calendar.YEAR)).append(“”);
//.append(DateFormat.getDateInstance(Calendar.MONTH));
}
public void showDateDialog(文本视图日期显示,日历日期){
activeDateDisplay=dateDisplay;
活动日期=日期;
showDialog(日期对话框ID);
}
私有OnDateSetListener dateSetListener=新OnDateSetListener(){
@凌驾
公共void onDateSet(日期选择器视图,整数年,整数月,整数月){
activeDate.set(日历年、年份);
activeDate.set(日历.月,月/年);
//activeDate.set(Calendar.DAY\u OF月,dayOfMonth);
activeDate.set(Calendar.DATE,dayOfMonth);
updateDisplay(activeDateDisplay,activeDate);
取消注册日期显示();
}
};
私有void unregisterDateDisplay(){
activeDateDisplay=null;
activeDate=null;
}
受保护的对话框onCreateDialog(int id){
开关(id){
案例日期\u对话框\u ID:
返回新的DatePickerDialog(this,dateSetListener,activeDate.get(Calendar.YEAR),activeDate.get(Calendar.MONTH),activeDate.get(Calendar.DATE));
}
返回null;
}
受保护的void onPrepareDialog(int id,对话框){
super.onPrepareDialog(id,对话框);
开关(id){
案例日期\u对话框\u ID:
更新日期(activeDate.get(Calendar.YEAR)、activeDate.get(Calendar.MONTH)、activeDate.get(Calendar.DATE));
打破
}
}
已选择公共位置(AdapterView父视图、视图v、整型位置、长id){
selection.setText(项目[位置]);
意图网格=新意图(这个,grid.class);
这一点。startActivity(网格);
//发送到其他活动
//详细信息(项目[位置]);
}
未选择公共无效(AdapterView父级){
selection.setText(“”);
}
//另一项活动
公共无效详细信息(字符串id)
//公共空间详细信息()
{   
//意向详情=新意向(con,detail.class);
意图网格=新意图(这个,grid.class);
grid.putExtra(“IDP”,id);
这一点。startActivity(网格);
//Toast.makeText(此,“列表:”,Toast.LENGTH_SHORT.show();
}
}
这是xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Mulai dari :" />

    <TextView
        android:id="@+id/DateStar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/btn_PickDateStart"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Tanggal Awal" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Sampai dengan :" />

     <TextView
        android:id="@+id/DateEnd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/btn_PickDateEnd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Tanggal Akhir" />


    <TextView
        android:id="@+id/selection"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>


    <Spinner
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="false" />

 </LinearLayout>

使用
Date
提供给您的
long
值,并将其与发送到活动的所有其他内容一起放入额外内容中