android - ListView 中的 onListItemClick 不起作用

标签 android listview

当我点击列表项时,我试图调用另一个 Fragment 但它不起作用,我正在使用 slider 菜单,ListView 的项目是 slider 菜单中的选项。我做错了什么?

public class MenuNetimoveis_Fragments extends ListFragment {
private ListView listView;

String[] itensMenu = new String[] {
        " Imóveis no mapa",
        "Favoritos",
        "Agências",
        "Dicas para Alugar",
        "Alugar meu imóvel",
        "Sobre"
    };

    int[] imagens = new int[]{
        R.drawable.map_marker,
        R.drawable.star,
        R.drawable.house,
        R.drawable.coffee,
        R.drawable.pricetag,
        R.drawable.pricetag
    };

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {


        return inflater.inflate(R.layout.list, null);
}

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

     ImageView tv = new ImageView(getActivity());
     Drawable dw = getResources().getDrawable(R.drawable.menu_netimoveis_locacao);
     tv.setImageDrawable(dw);
     getListView().addHeaderView(tv);

    crateListView();

}

private void crateListView(){

     List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();

        for(int i=0;i<6;i++){
            HashMap<String, String> hm = new HashMap<String,String>();
            hm.put("txt", itensMenu[i]);
            hm.put("imagens", Integer.toString(imagens[i]) );
            aList.add(hm);
        }

        String[] from = { "txt","imagens" };
        int[] to = { R.id.text,R.id.imagemview};
        SimpleAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), aList, R.layout.list_row, from, to);

        setListAdapter(adapter);
}

@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
    Fragment newContent = null;
    switch (position) {
    case 0:
        newContent = new Menu_DicasParaAlugar();
        break;
    case 1:
        break;

    }
    if (newContent != null)
        switchFragment(newContent);
}



// the meat of switching the above fragment
private void switchFragment(Fragment fragment) {
    if (getActivity() == null)
        return;

    if (getActivity() instanceof FragmentChangeActivity) {
        FragmentChangeActivity fca = (FragmentChangeActivity) getActivity();
        fca.switchContent(fragment);

    }
}
}

最佳答案

在 onCreate() 结束时执行 getListView().setOnListItemClickListener(this);

关于android - ListView 中的 onListItemClick 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210752/

相关文章:

android - Search Custom Listview 实现simplecursoradapter Android?

android-emulator - android:Google API(Android API 13)

android - 有没有办法将新术语注册到 ok google 识别的列表中?

java - onDestroy 用于使数据持久化并与服务器同步

Javafx 通过引用将 List<String> 绑定(bind)到 ListView

java - 使用 ArrayAdapter 返回 ListView 时获取 IndexOutOfBoundsException : Index: 1, Size: 0 (Java Android)

android像whatsApp一样在listview上获取日期

android - 在 Android::when setContentView() 被替换为新布局时,在运行时调用哪个方法

android - phonegap 地理位置总是在超时时失败

java - Android - Activity 中 ListView 项目的自定义样式