请问各位 我现在有个listview, 每一行都由一个TextView和EditText
请问我如何通过循环来抓每行EditText中输入的值?

解决方案 »

  1.   

    for(int i = 0; i < lv_qty.getCount(); i++)
    {
        //String str = lv_qty.getAdapter().getItem(i).toString();
        //Toast.makeText(rv.this, str, Toast.LENGTH_LONG).show();
    }
    lv_qty.getAdapter().getItem(i).toString();这个可以看到每个item里面的textview和Editview的值 但是要去取Editview里的值就不知道用什么方法了在getItem后面就那几个方法 没有看到什么取id的   如果用    lv_qty.getItemAtPosition(i)来获得item 也没找到什么方法再去找里面的eidtview
    能不能指点一下
      

  2.   

    lv_qty.getAdapter().getView(1, null, null).findViewById(id);可以获取里面的TextView和EditText然后你在获取文本;
      

  3.   

    getView方法是系统调用的,自己程序也可以顺便调用的吗?
      

  4.   

    我之前也在做ListView相关的东西,每个Item中有个进度条组件,我是自己写了个Adapter,来生成Item的。生成每个Item时,可以把你需要赋值的组件存在成员变量中,然后对外开放访问接口。
      

  5.   

    自己写adapter来控制你的listview,然后在你的adapter种的getItem()这个方法中,你返回你要的EditText的值。
      

  6.   


    请问这个getView取出来后我用
    (EditText)((lv_qty.getAdapter().getView(1, null, null).findViewById(R.id.Erm_qty))来取 取出来的好像不对 是不是我哪儿写错了也感谢楼上几位的方法 我试一下
      

  7.   

    4,5楼正解。可以把下面代码里面的text2替换成你的EditViewpackage irdc.ex05_18;/* import相關class */
    import java.util.List;
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;/* 自定義的Adapter,繼承android.widget.BaseAdapter */
    public class MyAdapter extends BaseAdapter
    {
      /* 變數宣告 */
      private LayoutInflater mInflater;
      private List<String> items;
      private List<String> values;
      /* MyAdapter的建構子,傳入三個參數  */  
      public MyAdapter(Context context,List<String> item,List<String> value)
      {
        /* 參數初始化 */
        mInflater = LayoutInflater.from(context);
        items = item;
        values = value;
      }
      
      /* 因繼承BaseAdapter,需覆寫以下method */
      @Override
      public int getCount()
      {
        return items.size();
      }  @Override
      public Object getItem(int position)
      {
        return items.get(position);
      }
      
      @Override
      public long getItemId(int position)
      {
        return position;
      }
      
      @Override
      public View getView(int position,View convertView,ViewGroup parent)
      {
        ViewHolder holder;
      
        if(convertView == null)
        {
          /* 使用自定義的file_row作為Layout */
          convertView = mInflater.inflate(R.layout.row_layout,null);
          /* 初始化holder的text與icon */
          holder = new ViewHolder();
          holder.text1=(TextView)convertView.findViewById(R.id.myText1);
          holder.text2=(TextView)convertView.findViewById(R.id.myText2);
        
          convertView.setTag(holder);
        }
        else
        {
          holder = (ViewHolder) convertView.getTag();
        }
        /* 設定要顯示的資訊 */
        holder.text1.setText(items.get(position).toString());
        holder.text2.setText(values.get(position).toString());
      
        return convertView;
      }
      
      /* class ViewHolder */
      private class ViewHolder
      {
        /* text1:資訊名稱
         * text2:資訊內容 */
        TextView text1;
        TextView text2;
      }
    }
      

  8.   

    如果按照楼上的方法改写了自己的adapter
    我如何获得EditText里输入的内容?
      

  9.   

    ListView listView = this.getListView();
            int count = listView.getChildCount();
            for(int i = 0; i < count; i++){
                RelativeLayout layout = (RelativeLayout)listView.getChildAt(i);
                int c = layout.getChildCount();
                for(int j = 0; j < c; j++){
                    View view = layout.getChildAt(j);
                    if(view instanceof EditText){
                      String str=  ((EditText)view).getText();
                        break;
                    }
                }
            }
      

  10.   

    9楼楼主,可否解释哈“ListView listView = this.getListView();”和“String str= ((EditText)view).getText();”行代码,顺便让我看看你getListView()方法,谢谢啦
      

  11.   

    楼主有没有解决呀?获得EditText里输入的内容时候我怎么老获取的是原先循环到listview中的数组,重新输入的取不到!