2012-01-19 6 views
1

테이블 레이아웃의 목록보기에 테이블 레이아웃을 넣으려고합니다. 제대로 표시되지 않는 하나의 회 전자가 있으며 너비가 늘어나고 모양이 좋지 않습니다. 난 내가 제대로 작동하는 간단한 테이블 레이아웃이 코드 어떤이 말해 줄 수를하려고하면 내가 잘못목록보기가있는 TablelLayout의 회 전자의 이상한 동작

답변

1

하겠어 어디 BaseAdapter

@Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      final int pos = position; 
      final ViewHolder fHolder; 
      ViewHolder holder ; 
      View view = null; 

      if(convertView == null) { // InflateViewHelper class is returning 
            // object of View class In InflateViewHelper class 
            //i have written 
           //View v = inflater.inflate(R.layout.table_layout, null); 

       InflateViewHelper inflateView = new InflateViewHelper(inflater, aShoppingItem.get(position), mContext); 
       view = inflateView.createView(); 


       holder = new ViewHolder(); 
       holder.txtUnitPrice = (TextView) view.findViewById(R.id.txtUnitPrice); 
       holder.txtTotalPrice = (TextView) view.findViewById(R.id.txtTotalPrice); 
       holder.spinner = (Spinner) view.findViewById(R.id.spinner); 

       view.setTag(holder); 

      } 
      else { 

       view = convertView; 
       holder = (ViewHolder)convertView.getTag(); 

      } 
fHolder = holder; 
      holder.spinner.setOnItemSelectedListener(
        new OnItemSelectedListener() { 

         @Override 
         public void onItemSelected(AdapterView<?> parent, View view, int iposition, long id) 
         { 

          value = parent.getItemAtPosition(iposition).toString(); 

          if(pos<totalItems.size()) 
           totalItems.set(pos, value); 
          else 
           totalItems.add(pos,value); 



          int number = Integer.parseInt(value); 
          int unit = Integer.parseInt(fHolder.txtUnitPrice.getText().toString()); 
          String total = String.format("%d", unit*number); 
          fHolder.txtTotalPrice.setText(total); 
          String amnt = fHolder.txtTotalPrice.getText().toString(); 
          Log.v("AMOUNT", amnt); 

          if(pos< totalAmount.size()) 
           totalAmount.set(pos, amnt); 
          else 
           totalAmount.add(pos, amnt); 

         } 

         @Override 
         public void onNothingSelected(AdapterView<?> parent) { 
          totalItems.add(pos, value); 
          Log.v("[email protected]@@@", value);   
         } 

      }); 

      int number = Integer.parseInt(value); 
      int unit =   Integer.parseInt(holder.txtUnitPrice.getText().toString()); 
      String total = String.format("%d", unit*number); 
      holder.txtTotalPrice.setText(total); 

      return view; 
     } 

를 확장 CustomAdapter의의 getView() 메소드 테이블 레이아웃을 팽창하고 오랜 시간이 지나면이 문제에 대한 해결책을 얻었습니다. 이 문제를 극복하기 위해 나는 9 개의 패치 이미지를 사용하여 회 전자의 배경으로 넣었으며 더 얇은 회 전자를 얻습니다. 이 대답은 this link

입니다.
관련 문제