android - 如何在 ViewPager2 中实现 Spinner
问题描述
如何在 ViewPager2 中为微调器设置onItemSelected。
我已经在 ViewHolder() 中设置了微调器,但无法弄清楚如何实现@Override onItemSelected。
ViewPager2
ViewPagerAdapter extends RecyclerView.Adapter<ViewPagerAdapter.ViewHolder> {
Context mContext;
ViewPagerAdapter(Context context) {
this.mContext = context;
}
视图持有者
public class ViewHolder extends RecyclerViewViewHolder {
private Spinner mSpinner;
ViewHolder(View itemView) {
mSpinner = itemView.findViewById(R.id.mySpinner);
ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource(mContext, R.array.myArray, android.R.layout.simple_spinner_item);
spinnerAdapter.setDropDownViewResrouce(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(spinnerAdapter);
mSpinner.setOnItemSelectedListener((AdapterView.OnItemSelectedListener)mContext);
OnItemSelected ##
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(LOG_TAG, "Spinner Changed");
}
选择新的微调器项目后,我希望在日志中看到“微调器已更改”条目。
解决方案
按照你说的,
尝试运行应用程序时出现以下错误,错误:方法未覆盖或实现超类型中的方法。
你有没有尝试过
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(LOG_TAG, "Spinner Changed");
}
});
推荐阅读
- java - 解释 Optaplanner 中的所有动作
- css - CSS mouseenter 显示隐藏的覆盖 - 悬停在文本覆盖上时的问题消失
- java - Android 计步器显示不正确的步骤
- javascript - 如何使用本地存储将数据传输到 HTML 文件?
- scala - ReactiveMongo 与 Play-json 职责的划分
- javascript - 如何在 HTML 代码中表示这个矩阵?
- powershell - 为什么我们会收到错误消息?发送电子邮件时出错:SMTP 服务器需要安全连接,或者客户端未通过身份验证
- java - Azure 使用 Java SDK 将角色分配给 VM
- r - 计算关键字搜索创建的数据框中每页的关键字
- tcl - 如何匹配一个字符串