【问题标题】:Placing listview in Getview method in Android在Android的Getview方法中放置listview
【发布时间】:2013-02-11 12:38:16
【问题描述】:

我有一个使用 getView 方法创建的自定义列表,我想在该自定义列表的每一行中放置另一个自定义列表视图。应该是这样的:

  • 第一行
  • 列表
  • 文本1 文本2
  • 文本1 文本2
  • 文本1 文本2

  • 第二行
  • 列表
  • 文本1 文本2
  • 文本1 文本2
  • 文本1 文本2

  • 第三行
  • 列表
  • 文本1 文本2
  • 文本1 文本2
  • 文本1 文本2

但似乎我无法在主 getView 中添加另一个 getview 方法。有人有什么建议吗?谢谢

编辑:

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;
            }       

}

现在是这样的

【问题讨论】:

  • 您的行视图真的需要列表视图吗?您不能只使用 tableView 或常规布局包含您描述的静态视图?
  • 我编辑了,listview必须是动态的
  • 你有什么解决方案??我正在做同样的事情,但粗略的 wat..即 getview -> listview -> listview 的新适配器....类似的东西..还有其他想法吗??

标签: android listview custom-lists


【解决方案1】:

您可以在每一行上使用可展开的列表视图。这样您就可以根据需要执行类似的操作。

【讨论】:

    【解决方案2】:

    如果我对问题的理解正确,您正在寻找ExpandableListView

    【讨论】:

    • 我编辑了这个问题,你不认为我可以在不使用可扩展列表视图的情况下解决它吗?
    • 您可以像这样将上下文移动到 getview 私有静态类 MainAdapter extends BaseAdapter { private LayoutInflater mInflater;上下文_上下文; public SulamaDetayAdapter(上下文上下文) { _context = context;
    • 这是答案的一部分吗? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多