2017-03-22 2 views
0

これは私がどのように私の多目的効果を得るためにこれらのコードを変更することができますか?以下は私のコードです、親切に助言し、何千もの感謝を提供します。GridView androidを使用した複数の選択方法

//privateList<Condiment> CondimentList; 
CondimentList = getCondimentDescription(productcode); 
condimentGrid.setAdapter(new condimentlist()); 

public class condimentlist extends BaseAdapter { 

     LayoutInflater mInflater; 

     public condimentlist() { 
      mInflater = LayoutInflater.from(cart_list.this); 
     } 

     @Override 
     public int getCount() { 
      return CondimentList.size(); 
     } 

     @Override 
     public Object getItem(int position) { 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return position; 
     } 

     @Override 
     public View getView(final int position, View convertView, ViewGroup parent) { 

      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.condiment_item, null); 
      } 

      Condiment myObj = CondimentList.get(position); 
     Button CondimentItem = (Button) convertView.findViewById(R.id.condimentItem); 
     CondimentItem.setText("" +myObj.getCondimentDescription()); 


     return convertView; 
    } 

} 
+0

なぜリサイクラービューを試してみませんか? –

+0

こちらをご覧くださいhttp://www.grokkingandroid.com/statelistdrawables-for-recyclerview-selection/ –

+0

リサイクラービューを使用している場合はどうなりますか? – user3463131

答えて

0

あなたのコードでは、あなたのコンディメントクラスモデルで選択した値を少しだけ追加して、このように使用します。

//privateList<Condiment> CondimentList; 
CondimentList = getCondimentDescription(productcode); 
condimentGrid.setAdapter(new condimentlist()); 

public class condimentlist extends BaseAdapter { 

     LayoutInflater mInflater; 

     public condimentlist() { 
      mInflater = LayoutInflater.from(cart_list.this); 
     } 

     @Override 
     public int getCount() { 
      return CondimentList.size(); 
     } 

     @Override 
     public Object getItem(int position) { 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return position; 
     } 

     @Override 
     public View getView(final int position, View convertView, ViewGroup parent) { 

      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.condiment_item, null); 
      } 

      final Condiment myObj = CondimentList.get(position); 
      Button CondimentItem = (Button) convertView.findViewById(R.id.condimentItem); 
      CondimentItem.setText("" +myObj.getCondimentDescription()); 
      CondimentItem.setSelected(myObj.isSelected()); 
      CondimentItem.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        myObj.setSelected(!myObj.isSelected()); 
        v.setSelected(myObj.isSelected()); 
       } 
      }); 


     return convertView; 
    } 

} 
関連する問題