获取价值并关闭与 recyclerview 和自定义适配器的对话框
Get Value and close dialog with recycle view and custom adapter
在我的应用程序中,我显示了一个带有自定义适配器的对话框,其中包含一个项目列表。我想获取对话框点击的item的值然后关闭....只能正确显示了
以下是我创建对话框的方式:
AlertDialog dialogBuilder = new AlertDialog.Builder(mContext).create();
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.banderes_dialog, null);
myrecyclerview = dialogView.findViewById(R.id.recycleview);
myrecyclerview.setLayoutManager(new LinearLayoutManager((dialogView.getContext())));
RecyclerViewAdapterLanguages recyclerAdapter = new RecyclerViewAdapterLanguages(dialogView.getContext(), lstLanguages);
myrecyclerview.addItemDecoration(new DividerItemDecoration(dialogView.getContext(), DividerItemDecoration.VERTICAL));
myrecyclerview.setAdapter(recyclerAdapter);
dialogBuilder.setView(dialogView);
dialogBuilder.show();
这是我的 oncreateviewholder:
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v;
v= LayoutInflater.from(mContext).inflate(R.layout.bandera_item,parent,false);
final MyViewHolder vHolder = new MyViewHolder(v);
vHolder.item_language.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Toast.makeText(mContext, "Click on an item", Toast.LENGTH_SHORT).show();
}
});
return vHolder;
}
我怎么知道点击了我的主条目的项目 activity。如何关闭 oncreateviewholder 上的对话框(敬酒后)
谢谢!
您可以拥有一个界面并在 activity 上使用它的回调来关闭对话框
public interface OnItemClickListner {
void OnItemClicked(View view, int position);
}
将您的侦听器传递给您的适配器,然后在项目中单击
vHolder.item_language.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Toast.makeText(mContext, "Click on an item",
Toast.LENGTH_SHORT).show();
onItemClickListner.OnItemClicked(v, position);
}
});
然后在您的 activity 中实现接口
在此之后你有它的覆盖方法,你可以在其中关闭你的对话框
@Override
public void OnItemClicked(View view, int position) {
dialog.dismiss();
}
在我的应用程序中,我显示了一个带有自定义适配器的对话框,其中包含一个项目列表。我想获取对话框点击的item的值然后关闭....只能正确显示了
以下是我创建对话框的方式:
AlertDialog dialogBuilder = new AlertDialog.Builder(mContext).create();
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.banderes_dialog, null);
myrecyclerview = dialogView.findViewById(R.id.recycleview);
myrecyclerview.setLayoutManager(new LinearLayoutManager((dialogView.getContext())));
RecyclerViewAdapterLanguages recyclerAdapter = new RecyclerViewAdapterLanguages(dialogView.getContext(), lstLanguages);
myrecyclerview.addItemDecoration(new DividerItemDecoration(dialogView.getContext(), DividerItemDecoration.VERTICAL));
myrecyclerview.setAdapter(recyclerAdapter);
dialogBuilder.setView(dialogView);
dialogBuilder.show();
这是我的 oncreateviewholder:
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v;
v= LayoutInflater.from(mContext).inflate(R.layout.bandera_item,parent,false);
final MyViewHolder vHolder = new MyViewHolder(v);
vHolder.item_language.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Toast.makeText(mContext, "Click on an item", Toast.LENGTH_SHORT).show();
}
});
return vHolder;
}
我怎么知道点击了我的主条目的项目 activity。如何关闭 oncreateviewholder 上的对话框(敬酒后)
谢谢!
您可以拥有一个界面并在 activity 上使用它的回调来关闭对话框
public interface OnItemClickListner {
void OnItemClicked(View view, int position);
}
将您的侦听器传递给您的适配器,然后在项目中单击
vHolder.item_language.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Toast.makeText(mContext, "Click on an item",
Toast.LENGTH_SHORT).show();
onItemClickListner.OnItemClicked(v, position);
}
});
然后在您的 activity 中实现接口 在此之后你有它的覆盖方法,你可以在其中关闭你的对话框
@Override
public void OnItemClicked(View view, int position) {
dialog.dismiss();
}