我有“comentario”元素的一个列表,这是comentario类:按钮效果很好
public class Comentario {
private String comentarista;
private String comentario;
private Button boton;
public Comentario(String nombre, String comentario){
this.comentario=comentario;
this.comentarista= nombre;
}
public String getComentarista() {
return comentarista;
}
public void setComentarista(String comentarista) {
this.comentarista = comentarista;
}
public String getComentario() {
return comentario;
}
public void setComentario(String comentario) {
this.comentario = comentario;
}
public Button getBoton() {
return boton;
}
public void setBoton(Button boton) {
this.boton = boton;
}
}
的“comentario”的列表视图有他的适配器有按钮,可以向他的主人回复每条评论。当用户按下“响应者”按钮时,另一个活动必须开始回答它(“ActivityRespuestaComentario”)。但是,当我按下按钮“ActivityRespuestaComentario”时,此活动从适配器接收任何名称并通过该包调用它,评论的答案适用于列表中所有评论的所有者。
这是 “ActivityRespuestaComentario” 活动:
package com.example.pestanasholacampus;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityRespuestaComentario extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.actividad_respuestaenperfil);
Intent intent= getIntent();
Bundle bundle= intent.getExtras();
String destinatario;
if(bundle!=null){
destinatario= bundle.getString("NombreDestinatario");
System.out.println("El destinatario es:"+ destinatario);
}
Button botonEnviarRespuesta= (Button) findViewById(R.id.botonEnviaRespuestaComentario);
botonEnviarRespuesta.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Aqui debemos añadir el comentario a la lista de comentarios del destinatario en la base de datos.
System.out.println("Comentario añadido.");
finish();
}
});
}
这是对列表视图中的每一个按钮的onclicklistener适配器:
package com.example.pestanasholacampus;
import java.util.ArrayList;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.sax.StartElementListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
@SuppressLint("ViewHolder") public class ComentarioenPerfilAdapter extends BaseAdapter {
protected Activity activity;
protected ArrayList<Comentario> comentarios;
Context mcontext;
TextView nombre;
public ComentarioenPerfilAdapter(Activity activity, ArrayList<Comentario> comentarios, Context context){
this.activity= activity;
this.comentarios= comentarios;
this.mcontext= context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return comentarios.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return comentarios.get(position);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@SuppressLint("InflateParams")
@Override
public View getView(int position, View arg1, ViewGroup arg2) {
LayoutInflater inf=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);;
View v= inf.inflate(R.layout.comentariolistperfil,null);
//Asociar el layout de la lista que hemos creado.
//Definimos un objeto a partir del array, vamos a cargar el contenido
//de ese objeto en el view de la lista.
Comentario comentario= comentarios.get(position);
//Cargamos el nombre del comentarista.
nombre= (TextView)v.findViewById(R.id.nombreComentarista);
nombre.setText(comentario.getComentarista());
//Cargamos el comentario
TextView coment= (TextView)v.findViewById(R.id.comentario);
coment.setText(comentario.getComentario());
//Cargamos el boton
Button boton= (Button)v.findViewById(R.id.botonResponder);
boton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("Boton responder comentario pulsado");
Intent intent = new Intent(mcontext,ActivityRespuestaComentario.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("NombreDestinatario", nombre.getText());
mcontext.startActivity(intent);
}
});
return v;
}
}
我做的“Comentario”类思考列表视图的每个元素,而不打坐按钮和问题可以在那里,但我不知道我必须把onclicklis每个元素的正确答案。
我想你们都需要帮助我,如果不是这样,请告诉我,我会发布它。 谢谢。
谢谢,但它没有奏效。我将在邮政编码上添加此更改。 – Asier 2015-01-21 12:04:07