2017-03-22 102 views
0

我想爲我的片段創建一個cutomlistview,我是初學者,請您可以給我寫適當的代碼來查看我的列表。如何創建片段的自定義列表

CustomListAdapter是紅色,我必須創建一個CustomListAdapter類我已經盡力,但我不能做到這一點,然後如果你能幫助我,我還是要做到這一點,以完成我的項目

這裏是我的代碼

public class listadmin extends Fragment { 
DatabaseHelper myDb; 
private ListView mMyListView; 
private listadmin MyListAdapter; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.listadmin, container, false); 
    mMyListView = (ListView) view.findViewById(R.id.ListViewadmin); 

    //create an ArrayList of a custom data class that you can create to hold the Admin Data 
    ArrayList<CustomObjectClass> list = new ArrayList<>(); 
    //Now you need to get the data 
    Cursor data = myDb.getAllAdmin(); 
    while (data.moveToNext()) { 
     list.add(new CustomObjectClass(data.getString(1), data.getString(2))); 
    } 
    //Now add the data to a listview using a custom ListAdapter 
    CustomListAdapter adapter = new CustomListAdapter(this, R.layout.custom_list, list); 
    mMyListView.setAdapter((ListAdapter) adapter); 
    return view; 
} 

/** 
* Example of CustomObjectClass 
**/ 
public class CustomObjectClass { 
    private String nom; 
    private String numero; 

    public CustomObjectClass(String nom, String numero) { 
     this.nom = nom; 
     this.numero = numero; 
    } 
    //Create your getter and setter methods below 
} 

回答

0

這是一個示例。我一直在使用客戶適配器

public class FirstFragment extends Fragment { 

private Button btnApply; 
private ListView listArea; 
    ArrayList<String> AreaArrayList = new ArrayList<String>(); 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 


} 
    @Override 
    public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle 
    savedInstanceState){ 
     final View view = inflater.inflate(R.layout.fragment_one, container, false);//fragment_one layout is the layout for first tab in filter 

     listArea=(ListView)view.findViewById(R.id.listArea); 

    AreaArrayList.add("area1"); 
    AreaArrayList.add("area2"); 

      AreaListAdapter myOrderAdapter = new AreaListAdapter(getActivity(), AreaArrayList); 
      listArea.setAdapter(myOrderAdapter); 
     return view; 
} 


//adapter for the listview 
public class AreaListAdapter extends BaseAdapter { 
    ArrayList<String> AreaList; 

    Context context; 
    LayoutInflater inflater; 

    public AreaListAdapter(Context context, ArrayList<String> AreaArrayList) { 
     this.context = context; 

     inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     if (AreaArrayList != null) { 

      this.AreaList = AreaArrayList; 

     } 

    } 

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

    @Override 
    public Object getItem(int position) { 
     return AreaList.get(position); 
    } 

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

    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     int value; 
     View areaRow = inflater.inflate(R.layout.area_filter_list_item, null); 

     TextView tvAreaFilter = (TextView) areaRow.findViewById(R.id.tvAreaFilter); //To set name of menu item, for example Corn Soup 

     tvAreaFilter.setText(AreaList.get(position)); 


     //row onClickListener 
     areaRow.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

      } 
     }); 
     return areaRow; 
    } 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
} 

}

+0

如果你能幫我這裏是項目網址[https://www.dropbox.com/sh/yu93eodsntnnjd4/AAAWo6N0dfc-rLUdUpolXyW2a?dl=0] listadmin是我想要顯示我的列表的類 – Fanomezantsoa

+0

@Fanomezantsoa我只能給你提供一個樣本。你必須爲你的項目做好這項工作。你不能期望人們編碼你的項目 –

+0

我已經嘗試了一個星期,沒有任何工作,我想我會離開,並在一個活動中列出一個更好,因爲我真的找不到片段,我遲到了然後讓我的項目。不管怎麼說,還是要謝謝你 – Fanomezantsoa

0

我已經定製listView用於片段在我的樣本項目,您可以檢查出我的整個項目here顯示在片段區域的名單,這是link爲java文件,我執行custom ListView