字符串在Android中始终返回null

时间:2018-06-28 16:15:09

标签: android

我是android的新手,在一个应用中,我需要以特定格式显示时间,因为我获取了“ hh:mm:a” 格式

的SQLite数据

所以我尝试先将其转换,然后将所需的格式更改为“ hh:mm  一个”

但是在我的情况下,输出字符串始终返回null。

我需要在RecyclerViewAdapter类中完成此操作

代码:

public void onBindViewHolder(MyViewHolder holder, int position) {
        myAlarms myAlarms = myAlarmsdata.get(position);
        String mTimeSplit = myAlarms.getALARM_TIME();

        try {
            SimpleDateFormat myFormat = new SimpleDateFormat("hh:mm aa");
            Date date = myFormat.parse(mTimeSplit );

            String out = myFormat.format(date); // out always remains null

            SpannableString mtime = new SpannableString(out); //want to pass the string as "hh:mm a" format 
            mtime.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);

            holder.mTime.setText(mtime);

        } catch (ParseException e) {
        }
    }

任何人都可以告诉我我在哪里犯了错误以及应该怎么做...

1 个答案:

答案 0 :(得分:1)

可能存在一些问题:

LR

它可能没有返回正确的格式。我已经尝试过它直接通过,并且工作正常。

String mTimeSplit = myAlarms.getALARM_TIME();

输出:

public class HelloWorld
{

     public static void main(String []args){
       // String mTimeSplit = myAlarms.getALARM_TIME();

        try {
            SimpleDateFormat myFormat = new SimpleDateFormat("hh:mm aa");
            Date date = myFormat.parse("08:30 PM" );

            String out = myFormat.format(date); 

             System.out.println(out);


        } catch (Exception e) {
        }

     }
}

如果您接收的是08:30:PM,则将格式更改为:

08:30 PM