Android 如何将数据从日期选择器和微调器传递到另一个活动
我是一个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;
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
值,并将其与发送到活动的所有其他内容一起放入额外内容中