3. 为ImageView添加一个onItemClick就可以解决,可以跳转到另外一个Activity等等
解决方案 »
- 求android自定义控件如何添加点击事件,长按事件
- 集成第三方apk软件不能使用,但是手动安装可以使用
- Android 图片裁剪
- Android 如何获得手机即时的重力感应的X,Y,Z轴的数值?
- 求教:如何获得wappush发送方号码
- JAVA开发Android服务器端
- 如何开发第三方sdk,需要注意哪些东西
- 用Drawable.createFromStream(url).openStream()得到的drawable对象可以直接显示在image控件中吗
- Incorrectly called buildLayer on View
- 如何用Rxjava或者HttpURLConnection以POST方式访问拼接的地址
- tiny210 LEDDemo
- 如何导入dalvik.annotation.EnclosingMethod
imageview的事件在getview中重新定义就生效,不然是不生效的。
就是这样,我到最后也没解决,有人知道如何解决这个问题请帮忙回答一下。在此同谢!
高手指点说:做一个全局变量类似于 list<Map<String,Integer>>之类的数据结构 将listview的item和edittext输入值绑定 点击的时候将键值记录,在getView的时候将数据还原 。大家有没有实现这种功能的代码啊?
我觉得他说得有道理
import com.android.meteor.MainImageAndText;import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;public class MainListAdapter extends BaseAdapter {
private List<MainImageAndText> list;
@SuppressWarnings("unused")
private ListView listView;
private Activity activity;
public MainListAdapter(Context context,List<MainImageAndText> list,ListView listView) {
// TODO Auto-generated constructor stub
this.list = list;
this.listView = listView;
this.activity = (Activity) context;
} public int getCount() {
// TODO Auto-generated method stub
return list.size();
} public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
} public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder viewHolder;
if(convertView == null){
LayoutInflater inflater = activity.getLayoutInflater();
convertView = inflater.inflate(R.layout.main_list, null);
inflater = null;
viewHolder = new ViewHolder();
viewHolder.setItem_image((ImageView) convertView.findViewById(R.id.item_image));
viewHolder.setItem_mainText((TextView) convertView.findViewById(R.id.item_mainText));
viewHolder.setItem_stateText((TextView) convertView.findViewById(R.id.item_stateText));
convertView.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) convertView.getTag();
}
MainImageAndText mainImageAndText = (MainImageAndText) this.getItem(position);
//给UI界面各组件赋值
if(mainImageAndText.getImage() != null){
viewHolder.getItem_image().setBackgroundResource(mainImageAndText.getImage());
}
viewHolder.getItem_mainText().setText(mainImageAndText.getMainText());
if(mainImageAndText.getStateText() != null){
viewHolder.getItem_stateText().setText(mainImageAndText.getStateText());
}
return convertView;
}
//静态内部类,保证只有一个布局对象,节省内存
private static class ViewHolder{
private ImageView item_image;
private TextView item_mainText;
private TextView item_stateText;
public ImageView getItem_image() {
return item_image;
}
public void setItem_image(ImageView item_image) {
this.item_image = item_image;
}
public TextView getItem_mainText() {
return item_mainText;
}
public void setItem_mainText(TextView item_mainText) {
this.item_mainText = item_mainText;
}
public TextView getItem_stateText() {
return item_stateText;
}
public void setItem_stateText(TextView item_stateText) {
this.item_stateText = item_stateText;
}
}}
以上就是一个自定义的适配器,很久以前写的了,有点混乱- -||。List<MainImageAndText> list就相当于一个全局的数据容器,MainImageAndText是自定义类,类似HashMap,listview中每一条数据,都有一个MainImageAndText对象实例来保存它的数据,呃……大概就这样。
方法二:http://download.csdn.net/detail/admin_/5518285
完美解决,自己看,有注释