我有「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