0

メッセージがWebサービスから送信される1つのアプリケーションを作成します。応答をリスト ビューに保存します。応答がリストビューに保存されると、各行に同じ時刻が表示されますが、最新の時刻とは異なる時刻が必要ですが、古い時刻は変更されません。アイデアを教えてください。コードは

    public class WebMessageAdapter extends ArrayAdapter<WebMessageCore>{

        Context _Context;
        ArrayList<WebMessageCore> _WebMsgList;
        WebMessageCore _WebMsgCore;
        TextView _MsgContent;
        private LayoutInflater mInflater;
        ImageButton Arrow;
        GabrielApplication application;
        public WebMessageAdapter(Context context, int resource,
         ArrayList<WebMessageCore> contactList) {
            super(context, resource,  contactList);
            _Context = context;
            _WebMsgList = contactList;
            mInflater = LayoutInflater.from(context);
        }

        public int getCount() {
            return _WebMsgList.size();
        }

        public WebMessageCore getItem(int position) {
            return _WebMsgList.get(position);
        }

        public long getItemId(int position) {
            return position;
        }


        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            if (convertView == null) {
                convertView = mInflater.inflate(R.layout.custom_row_view, null);
                holder = new ViewHolder();
                holder.txtName = (TextView) convertView.findViewById(R.id.name);
                holder.txtmessage = (TextView) convertView.findViewById(R.id.meassage);
                holder.txtPhone = (TextView) convertView.findViewById(R.id.phone);
                holder.txtdate=  (TextView ) convertView.findViewById(R.id.datetime);
               //holder.Arrow =  (ImageButton)convertView.findViewById(R.id.settingArrow);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            _WebMsgCore=_WebMsgList.get(position);
            holder.txtName.setText(_WebMsgCore.getName());
            holder.txtmessage.setText(_WebMsgCore.getMessage());
           holder.txtPhone.setText(_WebMsgCore.getMobileNo());
           Arrow.setOnClickListener(new OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Intent newActivity =  new Intent(_Context, ContactInfoActivity.class);
                    _Context.startActivity(newActivity);
            /*      
            Intent intent = new Intent(_Context, ContactInfoActivity.class);
                    GabrielUtil.replaceContentView(application.getGroupContext(),
                            GBConstants.contact_info, intent);*/
                }
            });

           String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
           holder.txtdate.setText(currentDateTimeString);
            return convertView;



        }


        static class ViewHolder {
            TextView txtName;
            TextView txtmessage;
            TextView txtPhone;
            TextView txtdate;
            ImageButton Arrow;
        }
    }'
4

1 に答える 1

0

ラインでの実際の問題

String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());

上記の行は、2012年5月9日16:36:12などの同じ日付形式を示しています。getView()メソッドが私のPCで650ミリ秒以内に実行されたため、同じ結果が得られます。時間は、PCの構成によって異なる場合があります。したがって、上記の行を次のように置き換えてみることができます

        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm:ss.SSS a");
        Date resultdate = new Date((new Date()).getTime());
        String currentDateTimeString = sdf.format(resultdate);
于 2012-05-09T11:26:26.157 に答える