怎么获取ListView和GridView适配器中item上TextView和ListView控件的值
来源:互联网 发布:ug8.0编程怎么设置速 编辑:程序博客网 时间:2024/05/22 01:57
CharSequence num = ((TextView) mListView.getChildAt(i).findViewById(R.id.item_editgood_num)).getText(); CharSequence price = ((EditText) mListView.getChildAt(i).findViewById(R.id.item_edit_price)).getText(); CharSequence slogan = ((EditText) mListView.getChildAt(i).findViewById(R.id.item_edit_slogan)).getText();
原理start:
ListView list= (ListView)findViewById(R.id.list);//获得listview
for (int i = 0; i < list.getChildCount(); i++) {
LinearLayout layout = (LinearLayout)list.getChildAt(i);// 获得子item的layout
EditText et = (EditText) layout.findViewById(R.id.et);// 从layout中获得控件,根据其id
// EditText et = (EditText) layout.getChildAt(1)//或者根据位置,在这我假设TextView在前,EditText在后
System.out.println("the text of "+i+"'s EditText:----------->"+et.getText());
}
原理end
利用上面的方法就可以得到对应的控件值
public class EditGoodActivity extends BaseActivity implements OnClickListener{ private static final String TAG= EditGoodActivity.class.getSimpleName(); private TopBarView mTopBarView; private Context mContext; private ImageView mImageView; private TextView activity_edit_description,activity_edit_size,activity_edit_stopshall,activity_edit_save; private GridView mListView; private EditGoodAdapter mAdapter; private ArrayList<Lists> editGoods = new ArrayList<Lists>(); private String image; private String description; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit_cf_good); mContext = this; hpinApp.addActivity(TAG, this); mTopBarView = (TopBarView) findViewById(R.id.activity_edit_good_topbar); mTopBarView.setActivity(this); mTopBarView.setTitle("大家好"); initData(); init(); } /**初始化控件*/ private void init() { mImageView = (ImageView) findViewById(R.id.activity_edit_iv); activity_edit_description = (TextView) findViewById(R.id.activity_edit_description); activity_edit_size = (TextView) findViewById(R.id.activity_edit_size); activity_edit_stopshall = (TextView) findViewById(R.id.activity_edit_stopshall); activity_edit_save = (TextView) findViewById(R.id.activity_edit_save); mListView = (GridView) findViewById(R.id.activity_edit_listview); activity_edit_description.setText(description); activity_edit_size.setText("颜色:" + editGoods.get(0).color + " 尺码:" + editGoods.get(0).style + " 数量:" + editGoods.get(0).num); ImageLoader.getInstance().displayImage(image,mImageView, mImageLoad.getOptions(), mImageLoad.getImageLoadingListener()); activity_edit_stopshall.setOnClickListener(this); activity_edit_save.setOnClickListener(this); mAdapter = new EditGoodAdapter(editGoods, mContext); mListView.setAdapter(mAdapter); } /**获取数据*/ @SuppressWarnings("unchecked") private void initData() { Intent intent = getIntent(); image = intent.getStringExtra("pic"); description = intent.getStringExtra("name"); Bundle b = intent.getExtras(); ArrayList< ProductList.Info.Lists> name = (ArrayList< ProductList.Info.Lists>) b.getSerializable("list"); for (int i = 0; i < name.size(); i++) { Lists lists = name.get(i); editGoods.add(lists); } } @SuppressLint("NewApi") @Override public void onClick(View v) { if (v.getId() == R.id.activity_edit_stopshall) { } else if (v.getId() == R.id.activity_edit_save) { ArrayList<String> arrayList = new ArrayList<String>(); ModifyGood modifyGood = null; for (int i = 0; i < editGoods.size(); i++) { CharSequence num = ((TextView) mListView.getChildAt(i).findViewById(R.id.item_editgood_num)).getText(); CharSequence price = ((EditText) mListView.getChildAt(i).findViewById(R.id.item_edit_price)).getText(); CharSequence slogan = ((EditText) mListView.getChildAt(i).findViewById(R.id.item_edit_slogan)).getText(); modifyGood = new ModifyGood(); modifyGood.id = editGoods.get(i).id; modifyGood.num = num.toString(); modifyGood.price = price.toString(); modifyGood.introduce = slogan.toString(); Gson gson = new Gson(); String json = gson.toJson(modifyGood); arrayList.add(json); } push(arrayList); } else { } } private void push(final ArrayList<String> put) { SimpleHUD.dismiss(); StringRequest stringRequestPost = new StringRequest(Method.POST, URLs.MODIFYSHALL, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.i(TAG, response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, error.getMessage(), error); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("uid", SharedPreferencesUtil.getStringData(mContext, "uid", "")); map.put("password", SharedPreferencesUtil.getStringData(mContext, "password", "")); map.put("lists", put.toString()); return map; } }; mVolleyTools.getQueue().add(stringRequestPost); } public void onResume() { super.onResume(); MobclickAgent.onPageStart(TAG); MobclickAgent.onResume(this); } public void onPause() { super.onPause(); MobclickAgent.onPageEnd(TAG); MobclickAgent.onPause(this); }}
适配器
public class EditGoodAdapter extends BaseAdapter { private ArrayList<Lists> editGoods; private Context context; public EditGoodAdapter(ArrayList<Lists> editGoods, Context context) { super(); this.editGoods = editGoods; this.context = context; } @Override public int getCount() { return editGoods.size(); } @Override public Object getItem(int arg0) { return editGoods.get(arg0); } @Override public long getItemId(int arg0) { return arg0; } @Override public View getView(final int position, View contentView, ViewGroup arg2) { final Lists list = editGoods.get(position); final ViewHolder holder; if (contentView == null) { contentView = View.inflate(context,R.layout.item_edit_good, null); holder = new ViewHolder(); holder.item_editgood_color = (TextView) contentView.findViewById(R.id.item_editgood_color); holder.item_editgood_size = (TextView) contentView.findViewById(R.id.item_editgood_size); holder.item_editgood_reduce = (TextView) contentView.findViewById(R.id.item_editgood_reduce); holder.item_editgood_num = (TextView) contentView.findViewById(R.id.item_editgood_num); holder.item_editgood_add = (TextView) contentView.findViewById(R.id.item_editgood_add); holder.item_edit_price = (EditText) contentView.findViewById(R.id.item_edit_price); holder.item_edit_slogan = (EditText) contentView.findViewById(R.id.item_edit_slogan); contentView.setTag(holder); }else{ holder = (ViewHolder) contentView.getTag(); } holder.item_editgood_color.setText(list.color); holder.item_editgood_size.setText(list.style + "码"); holder.item_editgood_reduce.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String num_reduce=Integer.valueOf(holder.item_editgood_num.getText().toString())-1+""; holder.item_editgood_num.setText(num_reduce); } }); holder.item_editgood_add.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (Integer.parseInt(holder.item_editgood_num.getText().toString()) <= Integer.parseInt(list.num)) { String num_add=Integer.valueOf(holder.item_editgood_num.getText().toString())+1+""; holder.item_editgood_num.setText(num_add); }else{ SimpleHUD.showInfoMessage(context, "已经是最大值"); } } }); return contentView; } class ViewHolder{ TextView item_editgood_color; TextView item_editgood_size; TextView item_editgood_reduce; TextView item_editgood_num; TextView item_editgood_add; EditText item_edit_price; EditText item_edit_slogan; }}
0 0
- 怎么获取ListView和GridView适配器中item上TextView和ListView控件的值
- Android中ListView或者GridView的Item和Item中控件的事件冲突
- listview/gridview上checkbox和button以及item获取焦点的问题
- ListView获取item上某个控件上的值
- listView和gridView中item复用的相关问题
- 使用js获取和改变gridview,listview,repeater行中控件的值
- ListView和GridView的万能适配器
- ListView,GridView 和 适配器 Adapter
- 代码技巧2.listview的item只是简单的textview的时候适配器 怎么写?
- Android_onContextItemSelected 获取listView中item值和position
- ListView中TextView和item背景点击改变颜色
- 机顶盒开发 ListView嵌套GridView GridView中ChildView和Item的焦点
- android关于Listview中定义了子控件,子控件和item同时获取焦点的问题
- BaseAdapter实现ListView中item上每个控件的获取以及点击
- Android打造ListView和GridView万能适配器
- ListView和GridView的item自动改变边距!
- 【Android】以SimpleAdapter做适配器的ListView和GridView
- 自己封装的适配器(适用于ListView和GridView)
- Android环境搭建链接整理
- 转载:eclipse的访问控制图标详解
- Search a 2D Matrix II
- Dungeon Master (广搜,bfs)
- WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
- 怎么获取ListView和GridView适配器中item上TextView和ListView控件的值
- 程序员面试中应该向企业提的五大问题
- android adb 启动和关闭server命令
- HDOJ 2018 母牛的故事(规律)(水)
- VMP 1.6-1.7脱壳记录(淘淘文件时间修改之星1.4,)
- 多个UIImage合并成一个UIImage
- 4.3.3、部署一个 Registry 服务
- 文件下载中文乱码解决
- Deep Learning 优化方法总结