Toast不在片段的setOnItemClickListener中显示

时间:2018-08-05 07:21:32

标签: android listview fragment

我有一个片段,在该片段中,每当单击listView中的一个项目时,我都想显示一个Toast,如下代码所示。 我现在面临的问题是,当我单击列表中的任何项目时,Toast永远不会出现。

为解决此问题,我尝试使用

  

将getActivity作为上下文,但它不起作用。
  getActivity.getApplicationContext,但效果不佳。

请让我知道如何解决此问题。

代码

this.mItemsModels.add(new ItemModel(this.mTitle, this.mContents, this.mIsChecked));
this.mListViewAdapter = new ListViewAdapter(getActivity().getApplicationContext(), this.mItemsModels);
this.mListView.setAdapter(this.mListViewAdapter);
this.mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(getActivity().getApplicationContext(), " CLICKED ", Toast.LENGTH_SHORT).show();
    }
});

1 个答案:

答案 0 :(得分:0)

尝试一下:

在您的fragment

private Context context;
@Override
    public void onAttach(Context context) {
        super.onAttach(context);

        this.context = context;
    }

在您的onItemClick

内部
Toast.makeText(context, " CLICKED ", Toast.LENGTH_SHORT).show();