Как установить onItemClickListener для ListView во фрагменте? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь сделать это с помощью приведенного ниже кода, но он не работает! Пожалуйста, помогите мне ... Я в замешательстве ... В приведенном ниже коде все хорошо, но onItemClickListener бесполезно, и это в onCreateView метод не так? Расположение моих предметов не является проблемой ..

public class favFrg extends Fragment {

    View v;
    ListView listView;
    List<HashMap<String,Object>> listFav;
    DatabaseManager dbManager;

    public favFrg() {

        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        v= inflater.inflate(R.layout.fragment_fav_frg, container, false);
        listView= v.findViewById(R.id.listViewFav);

        dbManager=new DatabaseManager(getContext());
        dbManager.openDB();

        listFav=dbManager.getStoryFavorite();
        dbManager.closeDB();

        String[] keys={"id","txtName"};
        int[] resources={R.id.favTxtViewNumberStory,R.id.favTxtViewTitleStory};

        SimpleAdapter adapter=new SimpleAdapter(getContext(),listFav,R.layout.fav_item_layout,keys,resources);

        listView.setAdapter(adapter);
        Log.i("ListView","Adapter Set");

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Log.i("ListView","click item");




                Toast.makeText(getActivity(),"Clicked",Toast.LENGTH_SHORT).show();


            }
        });



        Log.i("ListView","Return View");
        return  v;
    }


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


    }

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

вместо getContext() используйте container.getContext() при создании адаптера для просмотра списка.

0 голосов
/ 05 сентября 2018

Просто Только кликабельный и фокусируемый атрибут в моем макете элемента должен быть ложным ... и работает для меня

https://code.i -harness.com / о / д / 1561bd1

0 голосов
/ 05 сентября 2018

Попробуйте сделать SimpleAdapter публичной переменной и поместить его вне класса onCreateView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...