Android에서 Lisview
을 사용하고 있습니다. Listview
의 각 항목은 button
이며 각 button
을 클릭하면 activity
을 열려고합니다.목록보기 항목 버튼 클릭
내 코드는 비슷하지만 작동하지만 더 나은 방법이 있다고 생각합니다.
public class ListViewAdapter{
public interface MyItemClickListener {
void onItemClick(View view, int position);
}
private MyItemClickListener mItemClickListener;
public void setMyItemClickListener(MyItemClickListener listener) {
this.mItemClickListener = listener;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Find your image view and add clicklistener
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view, int position) {
if (mItemClickListener != null) {
mItemClickListener.onItemClick(view, position);
}
}
});
return convertView;
}
}
그리고 :
public class LazyAdapterResul extends BaseAdapter {
// Declare Variables
Context context;
LayoutInflater inflater;
ArrayList<HashMap<String, String>> data;
ImageLoader imageLoader;
HashMap<String, String> resultp = new HashMap<String, String>();
public LazyAdapterResultadosLiga(Context context,
ArrayList<HashMap<String, String>> arraylist) {
this.context = context;
data = arraylist;
imageLoader = new ImageLoader(context);
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
public interface MyItemClickListener {
void onItemClick(View view, int position);
}
private MyItemClickListener mItemClickListener;
public void setMyItemClickListener(MyItemClickListener listener) {
this.mItemClickListener = listener;
}
public View getView(final int position, View convertView, ViewGroup parent) {
// Declare Variables
TextView equipo_local, equipo_visitante, estado_video;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.list_row, parent, false);
// Get the position
resultp = data.get(position);
// Locate the TextViews in listview_item.xml
jor= (TextView) itemView.findViewById(R.id.jornada);
estado= (TextView) itemView.findViewById(R.id.estado);
vi = (ImageView) itemView.findViewById(R.id.imageView1);
estado.setText(resultp.get(Resul.TAG_ESTADO));
jor.setText(resultp.get(Resul.TAG_JOR));
vi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mItemClickListener != null) {
mItemClickListener.onItemClick(view, position);
}
}
});
return itemView;
}
}
더 나은 방법입니다 –
목록보기 어댑터에 onclick 코드를 작성하십시오 .. – duggu
목록보기 어댑터에서 활동을 열 수 있습니까? 방법? 의도 = 새로운 의도 (getActivity(), MyOtherActivity.class); startActivity (입); – Elena