import java.text.SimpleDateFormat;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.dice.R;
import com.niners.dice.model.Notificacao;
import com.niners.dice.util.VisualizarPerfilAsyncTask;
public class AdapterResumoNotificacao extends BaseAdapter {
private List<Notificacao> notificacoes;
private LayoutInflater mInflater;
private ViewHolder holder;
private Context mContext;
private Notificacao notificacao;
static class ViewHolder {
private TextView titulo;
private TextView status;
private TextView endereco;
private ImageView midias;
private TextView apoio;
private TextView comentario;
private TextView data;
private ImageView fotoUser;
private TextView nomeUser;
private LinearLayout perfil;
}
public AdapterResumoNotificacao(Context context,
List<Notificacao> notificacoes) {
this.mInflater = LayoutInflater.from(context);
this.notificacoes = notificacoes;
this.mContext = context;
}
@Override
public int getCount() {
return notificacoes.size();
}
@Override
public Notificacao getItem(int position) {
return notificacoes.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.adapter_notif, null);
holder = new ViewHolder();
holder.titulo = (TextView) convertView
.findViewById(R.id.resumoNotifTitulo);
holder.status = (TextView) convertView
.findViewById(R.id.resumoNotifStatus);
holder.endereco = (TextView) convertView
.findViewById(R.id.resumoNotifLocal);
holder.midias = (ImageView) convertView
.findViewById(R.id.resumoNotifImage);
holder.apoio = (TextView) convertView
.findViewById(R.id.resumoNotificacaoNumeroApoio);
holder.comentario = (TextView) convertView
.findViewById(R.id.resumoNotifNumeroComent);
holder.data = (TextView) convertView
.findViewById(R.id.resumoNotifHorario);
holder.fotoUser = (ImageView) convertView
.findViewById(R.id.resumoNotifImagerUser);
holder.nomeUser = (TextView) convertView
.findViewById(R.id.resumoNotifNomeUser);
holder.perfil = (LinearLayout) convertView
.findViewById(R.id.resumoNotifPerfilUser);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
notificacao = notificacoes.get(position);
holder.titulo.setText(notificacao.getTitulo());
holder.status.setText(mContext.getString(R.string.notificacao_status)
+ ": " + notificacao.getStatus());
// holder.endereco.setText(n.endereco());
holder.apoio.setText(notificacao.getNumeroApoios() + " "
+ mContext.getString(R.string.notificacao_apoio));
holder.comentario.setText(notificacao.getNumeroComentarios() + " "
+ mContext.getString(R.string.notificacao_comentarios));
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
holder.data.setText(sdf.format(notificacao.getData()));
// holder.midias.setImageBitmap(n.midiaPrincipal());
// holder.fotoUser.setImageBitmap(n.getAutor().getFoto());
holder.nomeUser.setText(notificacao.getAutor().getNome().toUpperCase());
holder.titulo.setOnClickListener(abrirNotificacao);
holder.midias.setOnClickListener(abrirNotificacao);
holder.fotoUser.setOnClickListener(abrirPerfil);
holder.nomeUser.setOnClickListener(abrirPerfil);
holder.perfil.setOnClickListener(abrirPerfil);
return convertView;
}
private OnClickListener abrirPerfil = new OnClickListener() {
@Override
public void onClick(View v) {
new VisualizarPerfilAsyncTask(mContext)
+ notificacao.getAutor().getId());
}
};
private OnClickListener abrirNotificacao = new OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(mContext, NotificacaoEscolhida.class);
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
it.putExtra("notificacao", notificacao);
mContext.startActivity(it);
}
};
}