Я написал ReadMsgHelper следующим образом:
package com.zolfagharihafar.repco;
public class ReadMsgHelper {
public static int DAY = 0;
public static int MONTH = 0;
public static int YEAR = 0;
public static int MINUTE = 0;
public static int HOUR = 0;
public static long PRIC = 0;
private static final char kama = ',';
private static ArrayList<Long> exint;
public ReadMsgHelper(String s){
char[] ttl = new char[s.length()];
s.getChars(0,s.length(),ttl,0);
int i = 0;
int k =0,
int j=0;
StringBuilder nu = new StringBuilder();
while (i<s.length()){
char c = ttl[i];
if (c >= 0x0660 && c <= 0x0669){
c -= 0x0660 - '0';
} else if (c >= 0x06f0 && c <= 0x06F9){
c -= 0x06f0 - '0';
}
if(i==s.length()-1&&c > 47 && c < 58 ){
nu.append(c);
exint.add(Long.parseLong(nu.toString()));
j=0;
nu = new StringBuilder();
}else if(c > 47 && c < 58 && (j==0||k+1==i)){
nu.append(c);
k =i;
j++;
}else if(j!=0&&c!=kama){
exint.add(Long.parseLong(nu.toString()));
j=0;
nu = new StringBuilder();
}else if(j!=0){
k=i;
j++;
}
i++;
}
StringBuilder year = new StringBuilder();
year.append(1);
year.append(3);
year.append(String.valueOf(exint.get(5)).charAt(0));
year.append(String.valueOf(exint.get(5)).charAt(1));
StringBuilder month = new StringBuilder();
month.append(String.valueOf(exint.get(5)).charAt(2));
month.append(String.valueOf(exint.get(5)).charAt(3));
StringBuilder day = new StringBuilder();
day.append(String.valueOf(exint.get(5)).charAt(4));
day.append(String.valueOf(exint.get(5)).charAt(5));
PRIC = exint.get(0);
DAY = Integer.parseInt(day.toString());
MONTH = Integer.parseInt(month.toString());
YEAR = Integer.parseInt(year.toString());
MINUTE = exint.get(4).intValue();
HOUR = exint.get(3).intValue();
}
}
и объявил его экземпляр в методе другого класса следующим образом:
private void regstart() {
UnRead unreads = new UnRead(getActivity());
ArrayList<String[]> unreadsmsgs;
ReadMsgHelper c;
updateview(unreads);
if(unreads_num>0){
unreadsmsgs = unreads.getData();
current_id = unreadsmsgs.get(0)[0];
c = new ReadMsgHelper(unreadsmsgs.get(0)[1]);
price.setText(String.valueOf(c.PRIC));
dateAndTime.setPersianDate(c.YEAR,c.MONTH,c.DAY);
dateAndTime.set(dateAndTime.HOUR_OF_DAY,c.HOUR);
dateAndTime.set(dateAndTime.MINUTE,c.MINUTE);
ithemName.setText("");
htime.setText("" + "ساعت "+ dateAndTime.getPersianTime());
String pc = dateAndTime.getPersianLongDate();
hdate.setText(pc);
}else {
unreadmsg.setText("no message");
price.setText("");
ithemName.setText("");
description.setText("");
}
}
предыдущий метод является щелчком слушатель, но только сначала щелкните свойства изменения значения ReadMsgHelper; со второго нажатия значения не меняются. Свойства:
ДЕНЬ
МЕСЯЦ
ГОД
МИНУТА
ЧАС
PRI C