0

私はアンドロイドにカスタムリストビューを1つ持っていて、ベースアダプターを設定しています。カスタムリストビューの1行に2つのtexviewがあります。今、これらの 2 つのテキストビューのテキストを json 解析から設定しました。既読未読メッセージを表示したい。どうすればこれを達成できますか?

以下は、アダプタークラスの私のコードです。

public class ImageAdapter_Notification extends BaseAdapter
{


    //Serch
    Context mContext;
    LayoutInflater inflater;
    //Serch

    String[] message;
    String [] id;
    String[]date;

public ImageAdapter_Notification(Context context)
{
    mContext = context;
    inflater = LayoutInflater.from(mContext);
}

public ImageAdapter_Notification(Context context,String [] message, String [] id,String[]date)
{
    mContext = context;
    inflater = LayoutInflater.from(mContext); 
    this.message=message;
    this.id=id;
    this.date=date;

}



public class ViewHolder {
    TextView txt_top,txt_large,txt_date;

}

public int getCount() {
    //return array_str_logo.length;
    return message.length;


}

public Object getItem(int position) {
    return null;
}

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

    public View getView(final int position, View convertView, ViewGroup parent) 
    {

        final ViewHolder holder;
        if (convertView == null) {
            holder = new ViewHolder();

            convertView = inflater.inflate(R.layout.custom_notification, null);

            // Locate the TextViews in listview_item.xml

            holder.txt_top = (TextView) convertView.findViewById(R.id.txt_top);
            holder.txt_large=(TextView) convertView.findViewById(R.id.txt_large);
            holder.txt_date=(TextView) convertView.findViewById(R.id.txt_date);

            // Locate the ImageView in listview_item.xml
            convertView.setTag(holder);
        }
        else {

            holder = (ViewHolder) convertView.getTag();
        }
        // Set the results into TextViews
    /*  if(position%2==0)
        {
        holder.txt_top.setTextColor(Color.RED);
        }else
        {


        }
    */  holder.txt_top.setText(id[position]);
        holder.txt_large.setText(message[position]);
        holder.txt_date.setText(date[position]);    



        convertView.setOnClickListener(new OnClickListener() {

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

                Intent intent=new Intent(Notification_Activity.this,Notification_Details.class);
                intent.putExtra("from", id[position]);
                intent.putExtra("message",  message[position].toString());
                intent.putExtra("date",  date[position].toString());
            //  Log.i("message", message[position].toString());
                startActivity(intent);


            }
        });



        return convertView;
    }


}// End of ImageAdapterclass

既読/未読メッセージのテキストの色を変更するにはどうすればよいですか? どんな助けでも心から感謝します。

4

1 に答える 1

0

サーバー側にメッセージを維持するためのデータベースがある場合、この目的のために列を追加すると問題が解決します。コラムStatus Integer Default 0

次に、 内getView()でこの値を確認し、対応する色を設定します。

ユーザーがメッセージを読んだら、テーブルの値を 1 に変更します。

于 2013-10-10T11:13:59.437 に答える