У меня есть этот код, но приложение выходит из строя на линии setadapter
. Я действительно не понимаю, потому что я установил adptater новым массивом.ArrayAdapter java.lang.NullPointerException
Я пробовал другие способы, но никто не работает!
Кстати, этот код находится в Фрагменте, а не в действии!
У вас есть идея, что произойдет?
public class Fragment_product_list extends Fragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ListView listview = (ListView) getActivity().findViewById(R.id.list_product);
String[] values = new String[] { "item1" , "item2" , "item3" , "item4" , "item5" , "item6" , "item7" };
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
final ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.list_content , list);
listview.setAdapter(adapter); /*app crash here*/
}
private class StableArrayAdapter extends ArrayAdapter<String> {
HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();
public StableArrayAdapter(Context context, int textViewResourceId,
List<String> objects) {
super(context, textViewResourceId, objects);
for (int i = 0; i < objects.size(); ++i) {
mIdMap.put(objects.get(i), i);
}
}
@Override
public long getItemId(int position) {
String item = getItem(position);
return mIdMap.get(item);
}
@Override
public boolean hasStableIds() {
return true;
}
}
}
Спасибо!
Проверьте, что 'listview' не' null'. –
Является ли listView внутри Activity? – NickF
Hum .. Я не понимаю, я поставил listview здесь 'final ListView listview = (ListView) getActivity(). FindViewById (R.id.list_product);' поэтому listview не является нулевым .. (Извините, что я новичок в android) – taspai