2014-01-14 53 views
-1

这是我的适配器的Android的EditText值失去的ListView滚动向上/向下

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    final ViewHolder holder; 
    LayoutInflater inflater = activity.getLayoutInflater(); 
    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.item, null); 
     holder = new ViewHolder(); 

     holder.txtFirst = (TextView) convertView.findViewById(R.id.textView1); 
     holder.txtSecond = (TextView) convertView.findViewById(R.id.textView2); 
     holder.txtid = (TextView) convertView.findViewById(R.id.textView3id); 
     holder.txtThird = (EditText) convertView.findViewById(R.id.ItemCaption); 
     holder.btn1 = (ImageButton) convertView.findViewById(R.id.button1); 
     holder.btn2 = (ImageButton) convertView.findViewById(R.id.button2); 


    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    holder.btn1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if (!holder.txtThird.getText().toString().equals("")) { 
       Sayac = Integer.valueOf(holder.txtThird.getText().toString()); 
      } else { 
       Sayac = 0; 
      } 
      Sayac++; 
      holder.txtThird.setText(String.valueOf(Sayac)); 
     } 
    }); 
    holder.btn2.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if (!holder.txtThird.getText().toString().equals("")) { 
       Sayac = Integer.valueOf(holder.txtThird.getText().toString()); 
      }else{ 
       Sayac = 0; 
      } 
      if (Sayac > 0) { 
       Sayac--; 
       holder.txtThird.setText(String.valueOf(Sayac)); 
      } 
     } 
    }); 



    @SuppressWarnings("rawtypes") 
    HashMap map = list.get(position); 
    String first = (String) map.get(Seri); 
    String second = (String) map.get(Sira); 
    String id = (String) map.get(Tarih); 

    holder.txtFirst.setText(first); 
    holder.txtSecond.setText(second); 
    holder.txtid.setText(id); 
    holder.txtThird.setText("0"); 
    convertView.setTag(holder); 
    return convertView; 
} 

在这里,我插入到数据库表时量不等于“0”:

for (int i = 0; i < lv.getAdapter().getCount()-1; i++) { 
      HashMap<?, ?> result = (HashMap<?, ?>)lv.getItemAtPosition(i);  
      View vListSortOrder; 
      vListSortOrder=lv.getChildAt(i);  
      TextView Sort_DeliveryOrder=(TextView)vListSortOrder.findViewById(R.id.ItemCaption); 
      String Fiyats = String.valueOf(result.get(Sira).toString().trim().replace(",", ".")); 
      String iskDizi[] = new String[3]; 
      if (Integer.valueOf(Sort_DeliveryOrder.getText().toString()) != 0) { 
       //Process 
      } 

但我有一个问题。 ListView向上/向下滚动量值获取更改时的默认值。我需要ListView向上/向下滚动量值不要更改而不设置默认值。

+0

请澄清你的问题。你谈论'listview'和'数量值',但是这些都没有在代码中提到。此外,请仅包括*与您的问题相关的代码。 – Mifeet

回答

0

是当您滚动视图循环或新的视图创建,getView()方法被调用你有设置

holder.txtThird.setText("0"); 

,而你得到保存的数据形式的数据库并设置文本

int value = database.getValue(); 
holder.txtThird.setText(String.valueOf(value)); 

看看这个工作:)

相关问题