2013-02-11 4 views
0

У меня есть собственный список, созданный с помощью метода getView, и я хочу поместить другой пользовательский список в каждую строку в этом настраиваемом списке. Который должен выглядеть следующим образом:Размещение listview в методе Getview в Android

  • Row1
  • Список
  • Текст1 Text2
  • Текст1 Text2
  • Text1 Text2

  • row2
  • Список
  • Текст1 Text2
  • Текст1 Text2
  • Текст1 Text2

  • Row3
  • Список
  • Текст1 Text2
  • Текст1 Text2
  • Текст1 Текст2

Но, похоже, я не могу добавить еще один метод getview в основной getView. Есть ли у кого-нибудь предложения? Благодаря

EDIT:

public static class ChildAdapter extends BaseAdapter { 
    private LayoutInflater mInflater;  
    public IrrigationAdapter(Context context) { 
       mInflater = LayoutInflater.from(context); 
       } 
    public int getCount() { 
       return array.size(); 
       } 
    public Object getItem(int position) { 
        return position; 
       } 
    public long getItemId(int position) { 
        return position; 
       }  
    public View getView(final int position, View convertView, ViewGroup parent) { 
      final ViewHolder holder; 
       if (convertView == null) { 
        convertView = mInflater.inflate(R.layout.table_row1, null); 
        holder = new ViewHolder(); 
        holder.Text1 = (TextView) convertView.findViewById(R.id.TextView01); 
          holder.Text2 = (TextView) convertView.findViewById(R.id.TextView02); 
        convertView.setTag(holder);       
       } else { 
        holder = (ViewHolder) convertView.getTag(); 
       } 
       holder.Text1.setText(sulamaDonemArr.get(position)); 
        holder.Text2.setText(bitkiDesenArr.get(position)); 

     return convertView; 
     }  

     static class ViewHolder {  
       TextView Text1; 
       TextView Text2;     
      }    
     } 

private static class MainAdapter extends BaseAdapter { 
    private LayoutInflater mInflater; 
    public SulamaDetayAdapter(Context context) { 
       mInflater = LayoutInflater.from(context);     
       } 
    public int getCount() { 
       return arraysize; 
       } 
    public Object getItem(int position) { 
        return position; 
       } 
    public long getItemId(int position) { 
        return position; 
       }  
    public View getView(final int position, View convertView, ViewGroup parent) { 
      final ViewHolder holder;     
       if (convertView == null) { 
        convertView = mInflater.inflate(R.layout.table_row_sulamabaslama_detay, null); 
        holder = new ViewHolder(); 
        holder.text1= (TextView)convertView.findViewById(R.id.txt); 
        holder.childAdapterList.setAdapter(????); 


        convertView.setTag(holder);           
       } else { 
        holder = (ViewHolder) convertView.getTag(); 
       }      

     return convertView; 
     } 

     static class ViewHolder {  
       TextView text1,text2;    
       ListView childAdapterList; 
      }  

}

Это что-то вроде этого сейчас

+0

Вам действительно нужно ListView для ваших взглядов строк? Вы не можете просто использовать tableView или regural layouts, содержащие статические представления, как вы описали? – yahya

+0

Я его отредактировал, listview должен быть динамическим – Rnklnc

+0

какое решение у вас было? Я делаю то же самое, но в грубом wat..i.e getview -> listview -> новый адаптер для listview .... что-то вроде этого .. другая идея? – Ranjit

ответ

0

Вы можете использовать развернутое представление списка на каждой строке. Чтобы вы могли выполнять то же, что хотите.

+0

Я отредактировал его, я думаю, его более ясно сейчас – Rnklnc

0

Если я правильно понял вопрос правильно, вы ищете ExpandableListView

+0

Я отредактировал вопрос, вам не кажется, что я могу решить его без использования расширяемого списка? – Rnklnc

+0

вы можете перемещать контекст в getview, как этот частный статический класс. MainAdapter расширяет BaseAdapter { private LayoutInflater mInflater; Контекст _context; public SulamaDetayAdapter (контекст контекста) { _context = context; – Talha

+0

- это часть ответа? :) – Rnklnc