Android 安卓烤面包,离约会还有几天

Android 安卓烤面包,离约会还有几天,android,listview,date,Android,Listview,Date,如果有人推列表项a,我想举杯庆祝,然后它应该计算到该项日期的天数。 我怎样才能从这个列表中取出日期,并将日期、月份和年份保存在不同的变量中 import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.ListActivity; import android.os.Bundle; import android.widget.SimpleAdapter; public

如果有人推列表项a,我想举杯庆祝,然后它应该计算到该项日期的天数。 我怎样才能从这个列表中取出日期,并将日期、月份和年份保存在不同的变量中

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;

public class MainActivity extends ListActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ArrayList<Map<String, String>> list = buildData();
        String[] from = { "name", "purpose" };
        int[] to = { android.R.id.text1, android.R.id.text2 };

        SimpleAdapter adapter = new SimpleAdapter(this, list,
                android.R.layout.simple_list_item_2, from, to);
        setListAdapter(adapter);
    }

    private ArrayList<Map<String, String>> buildData() {
        ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
        list.add(putData("A", "20.7.2013"));
        list.add(putData("B", "21.7.2013"));
        list.add(putData("C", "22.7.2013"));
        return list;
    }

    private HashMap<String, String> putData(String name, String purpose) {
        HashMap<String, String> item = new HashMap<String, String>();
        item.put("name", name);
        item.put("purpose", purpose);
        return item;
    }
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.Map;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.widget.simpledapter;
公共类MainActivity扩展了ListActivity{
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ArrayList=buildData();
字符串[]from={“name”,“purpose”};
int[]to={android.R.id.text1,android.R.id.text2};
SimpleAdapter=新SimpleAdapter(此,列表,
android.R.layout.simple_list_item_2,from,to);
setListAdapter(适配器);
}
私有ArrayList buildData(){
ArrayList=新建ArrayList();
列表。添加(putData(“A”,“20.7.2013”);
添加列表(putData(“B”,“21.7.2013”));
列表。添加(putData(“C”,“22.7.2013”);
退货清单;
}
私有HashMap putData(字符串名称、字符串用途){
HashMap项=新建HashMap();
项目。填写(“名称”,名称);
项目.付诸表决(“目的”,目的);
退货项目;
}
}
要获取“4天后”格式文本,请使用:

要将日期字符串解析为日期,请使用SimpleDataFormat。你可以在这里看到更多。

另一种方法是创建Java日期对象,并使用它们的方法填充列表,而不是从字符串派生日期。这就是将日期转换为字符串,而不是将字符串转换为日期,因为您似乎已经知道了日期。日期对象比表示日期的字符串更灵活

==更新==
您的数据存储在列表变量中。您可以使用onListItemClick()函数的位置变量在单击时检索它

我怎样才能得到被点击的项目呢?我不能在一篇文章中回答所有问题,但幸运的是堆栈溢出有答案。我使用了它,如何获得变量purpose(date)protected void onListItemClick(ListView l,View v,int position,long id){super.onListItemClick(l,v,position,id);String selection=l.getItemAtPosition(position).toString();Toast.makeText(this,selection,Toast.LENGTH_long).show()}更新了上面的内容。如果你有一个新问题,你应该提出一个新问题。关于堆栈溢出,它不是一个帮助论坛,而是一个问答论坛。如果你认为我已经回答了原来的问题,请选择我的答案作为接受。如果不是,请将您的问题分类。谢谢。你能解释一下这个问题吗。。我很困惑