2015-07-01 2 views
1

Я пытаюсь получить timestamp в android, это мой код;Как получить текущую временную метку в Android без обновления, как часы

public String getTimestamp() { 
    String timestamp = DateFormat.getDateTimeInstance().format(new Date()); 
    return timestamp; 
} 

Когда я создаю переменную для отображения метки времени.

Ex) Строка timestamp = getTimestamp();

Это должно сохранить текущую временную метку в виде строки. Однако, когда я печатаю эту строку «timestamp», она продолжает обновление в реальном времени, как часы. Мне просто нужна текущая временная метка. У меня его нет в цикле for или ничего, где он может обновляться.

Вот где он печатается из:

public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rootView = inflater.inflate(R.layout.single_list_item, parent, false); 
    TextView nameView = (TextView) rootView.findViewById(R.id.idView); 

    GeLoBeacon beacon = beacons.get(position); 

    if (!beaconsFound.contains(Integer.toString(beacon.getBeaconId()))) { 
     beaconsFound.add(Integer.toString(beacon.getBeaconId())); 
    } 
    String times = getTimestamp(); 
    nameView.setText(times); 
    return rootView; 
} 
+1

, если вы вызвали getTimestamp() один раз, возвратили String cant ', обновите, пожалуйста, покажите код, где вы печатаете эту строку – Max77

+0

@ Max77 Я добавил код, где он печатается. – Programmer

ответ

0

Здесь вы идете:

public String getTimestamp() { 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
     return sdf.format(new Date()); 
} 

изменить формат ("YYYY-MM-dd'T'HH: мм: сс") и получите свою дату в этом конкретном формате!

+0

Это просто другой способ форматирования метки времени, это не решает проблему с отметкой времени обновления. – blalasaadri

0

определить timeStamp как переменную поля, затем использовать setTimeStamp() {// назначить текущее время} и getimeStamp() {return timeStamp;), чтобы прочитать значение timeStamp.

1

Ваш метод getView() вызывается для каждого элемента адаптера и, следовательно, для каждого элемента установлено различное время. Установите метку времени как переменную поля в адаптере перед вызовом метода listView.setAdapter()

Смежные вопросы