Bonjour,

J`ai personalise l`adapter et j`ai les erreurs.
J`arrive pas a trouver pourquoi C`est quoi l`erreur. Est-ce que sa vient de l`adapter? Comme j`ai personalise cette derniere, je ne sais pas trop si j`a bien fait.

java.lang.RuntimeException: Unable to start activity
ComponentInfo{MyProject/MyProject.MainActivity}:
java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at MyProject.EventListFragment.Data(EventListFragment.java:124)
at MyProject.EventListFragment.onCreateView(EventListFragment.java:146)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:953)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
at android.app.Activity.performStart(Activity.java:5241)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

EventListFragment

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_event_list, container, false);
expandableList = (ExpandableListView) view.findViewById(R.id.expandableView);
getActivity().setTitle("All");
 
ExpandableListViewAdapter expandableListAdapter = new ExpandableListViewAdapter(getActivity());
expandableList.setAdapter(expandableListAdapter);
Data();
return view;
}
Data()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public void Data() {     
ArrayList<ProductItem> productsList = new ArrayList<>();
for (String val : Client.data.keySet()) {
ProductItem dataItem = Client.data.get(val);
productsList.add(dataItem);
}
}
expandableList.setAdapter(new ExpandableListViewAdapter(getActivity(),productsList));
}
Adapter

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
public class ExpandableListViewAdapter extends BaseExpandableListAdapter
{  
private LayoutInflater inflater;
InterFragmentNavigator interFragmentNavigator;
ArrayList<ProductItem> dataList = new ArrayList<>();  
private HashMap<String, ProductItem> listDataChild;
 
public ExpandableListViewAdapter(Context context) {
this.context = context;
}
public ExpandableListViewAdapter(Context context,ArrayList<ProductItem> filteredList, boolean showDateAndTime)
{
HashMap<String, ProductItem> listDataChild = new HashMap<String, ProductItem>();
for (ProductItem data : filteredList) {
    this.listDataChild.put(data.Name, data);
}
 
for (ProductItem data: filteredList) {
    listDataHeader.add(data.Name);
}
 
this.context=context;
inflater = LayoutInflater.from(context);
this.interFragmentNavigator = ((InterFragmentNavigator) context);
 
this.showDateAndTime = showDateAndTime;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return listDataChild.get(this.listDataHeader.get(groupPosition));
}
 
 
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
 
 
@Override
public View getChildView(int groupPosition, int childPosition,
                    boolean isLastChild, View convertView, ViewGroup parent) {
final String childText=(String)getChild(groupPosition, childPosition);
ChildViewHolder childViewHolder;
if(convertView == null) {
childViewHolder = new ChildViewHolder();
LayoutInflater inflater=(LayoutInflater)this.context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
 
convertView = inflater.inflate(R.layout.group_child, null);
 
childViewHolder.Name = (TextView) convertView.findViewById(R.id.Name);
childViewHolder.Description = (TextView) convertView.findViewById(R.id.description);
 
convertView.setTag(childViewHolder);
}
else {
childViewHolder = (ChildViewHolder) convertView.getTag();
}
 
childViewHolder.Name.setText(listDataChild.get(childPosition).Name.toUpperCase());
childViewHolder.Description.setText(listDataChild.get(childPosition).Description);      
 
return convertView;
}  
@Override
public int getChildrenCount(int groupPosition) {
return listDataChild.size();
}
 
@Override
public Object getGroup(int groupPosition) {
 
return this.listDataHeader.get(groupPosition);
}
 
@Override
public int getGroupCount() {
 
return this.listDataHeader.size();
}
 
@Override
public long getGroupId(int groupPosition) {
 
return groupPosition;
}
 
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
                    View convertView, ViewGroup parent) {
GroupViewHolder groupHolder;
if (convertView == null) {
 
LayoutInflater inflater=(LayoutInflater)this.context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
convertView=inflater.inflate(R.layout.group_row, null);
 
groupHolder = new GroupViewHolder();
groupHolder.Name = (TextView) convertView.findViewById(R.id.Name);        
 
convertView.setTag(groupHolder);
} else {
groupHolder = (GroupViewHolder) convertView.getTag();
}
 
groupHolder.Name.setText((String) getGroup(groupPosition));     
return convertView;
}
 
 
 
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
 
class GroupViewHolder {
public TextView Name;
}
 
class ChildViewHolder {
public TextView Name;
public TextView Description;       
}    
}