0

如果有人推送例如列表项 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;
    }
}
4

1 回答 1

0

要获得“从现在起 4 天”的格式化文本,请使用: DateUtils.getRelativeTimeSpanString();

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

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

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

于 2013-07-16T23:09:31.360 回答