Есть вот такой класс в котором описан Custom ListView, мне нужно сделать так, что бы по нажатию каждого элемента из списка выводился отдельный DialogFragment, этот способ крашит апликуху при нажатии на любой пункт из списка:
@Override
public void onListItemClick(ListView l, View v, int position, long id){
switch(position){
case 0:
i = new Intent(getActivity().getApplicationContext(), First.class);
break;
}
startActivity(i);
}
Полный код класса:
package ua.nikoz47.mobilewaiter.Tabs;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import ua.nikoz47.mobilewaiter.Food.First;
import ua.nikoz47.mobilewaiter.R;
public class Menu extends ListFragment{
Intent i;
String[] menu_list={
"Перші страви",
"Другі страви",
"Десерти",
"Алкогольні напої",
"Безалкогольні напої"};
int[] menu_icons={
R.drawable.first,
R.drawable.second,
R.drawable.dessert,
R.drawable.alcohol,
R.drawable.soft_drinks};
ArrayList<HashMap<String, String>> data=new ArrayList<>();
SimpleAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
HashMap<String, String> map=new HashMap<>();
for(int i=0;i<menu_list.length;i++)
{
map=new HashMap<>();
map.put("MenuItem", menu_list[i]);
map.put("MenuImage", Integer.toString(menu_icons[i]));
data.add(map);
}
String[] from={"MenuItem","MenuImage"};
int[] to={R.id.menu_textView,R.id.menu_imageView};
adapter=new SimpleAdapter(getActivity(), data, R.layout.custom_menu, from, to);
setListAdapter(adapter);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id){
switch(position){
case 0:
i = new Intent(getActivity().getApplicationContext(), First.class);
break;
}
startActivity(i);
}
}