listview onclick toast在片段中不起作用[重复]
Posted
技术标签:
【中文标题】listview onclick toast在片段中不起作用[重复]【英文标题】:listview onclick toast not working in fragment [duplicate] 【发布时间】:2020-01-14 05:06:43 【问题描述】:我在 fragment
android
中有一个 listview
,我添加了一个 onclick
事件不起作用。
每当我启动应用程序时,它都会给我应用程序停止工作的错误。
我关注这个帖子 Can not show Toast in OnItemClickListener inside Fragment 但不适合我
public class UserFragment extends Fragment implements View.OnClickListener
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
String[] user_listview_item = "Log In","Sign Up","Fund In","Fund Out","Wallet";
View view = inflater.inflate(R.layout.fragment_user, container, false);
TextView textView = (TextView) view.findViewById(R.id.testing1);
final ListView user_list_view = (ListView) view.findViewById(R.id.user_listview_id);
//arayadaptor
ArrayAdapter<String> ListViewAdapter = new ArrayAdapter<String>(
getActivity(),
android.R.layout.simple_list_item_2,
user_listview_item
);
user_list_view.setAdapter(ListViewAdapter);
user_list_view.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l)
Toast.makeText(getActivity(), user_list_view.getItemAtPosition(i).toString(), Toast.LENGTH_LONG).show();
);
textView.setOnClickListener(this);
return view ;
@Override
public void onClick(View view)
switch(view.getId())
case R.id.testing1:
Toast.makeText(getActivity(), "Click!", Toast.LENGTH_SHORT).show();
Log.d("testing1","Result is FAIL 2");
break;
default:
break;
感谢进步
【问题讨论】:
如果“它给我的应用程序停止工作错误”,你的意思是它正在崩溃,你需要查看the stack trace以确定崩溃的原因。 java.lang.IllegalStateException: ArrayAdapter 要求资源 ID 是 TextView 这是错误@MikeM。米 您使用的是simple_list_item_2
布局,而不仅仅是简单的<TextView>
。您的意思是改用simple_list_item_1
吗?
在我更改 simple_list_item_1 后它可以工作了,谢谢兄弟
【参考方案1】:
你必须从
String Array
获得一个项目,如下图Toast
。
user_list_view.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l)
Toast.makeText(getActivity(), user_list_view[i].toString(), Toast.LENGTH_LONG).show();
);
【讨论】:
以上是关于listview onclick toast在片段中不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android 小部件按钮 Onclick Toast 消息
为 listview 定义 onlick:在 listView 级别的 Onclick 与自定义视图适配器内的 Onclick
Android:如何在 ListView 的列表项中为 Button 设置 onClick 事件
当写listview的onItemClick的方法时写Toast的参数context写成this出现can't resolve method ’make text(OnClickListene