private void showTypeDialog(){
List<TypeBean> applyBeans = new ArrayList<>();
for (int i=0;i<5;i++) {
TypeBean applyBean = new TypeBean();
applyBean.setName("申請類型"+i);
applyBeans.add(applyBean);
}
AlertDialog.Builder listDialog = new AlertDialog.Builder(mContext);
listDialog.setTitle("選擇審批類型");
// listDialog.setItems();
ArrayApplyAdapter adapter = new ArrayApplyAdapter(mContext, R.layout.apply_child, applyBeans);
adapter.setOnItemClickListener(new ArrayApplyAdapter.onAItemClickListener() {
@Override
public void onItemClick(int position) {
Log.e(TAG, "22222 ArrayApplyAdapter onItemClick position="+position);
}
@Override
public void onChildItemClick(int position) {
Log.e(TAG, "22222 ArrayApplyAdapter onChildItemClick position="+position);
}
});
listDialog.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.e(TAG, "i="+i);
}
});
listDialog.show();
}
}
ArrayApplyAdapter.java
public class ArrayApplyAdapter extends ArrayAdapter<TypeBean> {
private static final String TAG = "ArrayApplyAdapter";
private int mResource;
private Context mContext;
public ArrayApplyAdapter(@NonNull Context context, int resource, @NonNull List<TypeBean> objects) {
super(context, resource, objects);
mResource = resource;
mContext = context;
}
public View getView(int position, View convertView, ViewGroup parent) {
TypeBean typeBean = getItem(position);
View view = LayoutInflater.from(mContext).inflate(mResource, parent, false);
ImageView imageView = view.findViewById(R.id.iv_type);
imageView.setImageResource(R.drawable.ic_banner_selected);
TextView textView = view.findViewById(R.id.tv_type);
textView.setText(typeBean.getName());
CustomGridView gv_type = view.findViewById(R.id.gv_child);
List<WorkBean> groupList = new ArrayList<>();
for (int i=0;i<2;i++) {
WorkBean workBean = new WorkBean();
workBean.setImgPath(String.valueOf(R.drawable.icon_dang));
workBean.setName("類型名"+i);
groupList.add(workBean);
}
ChildAdapter childAdapter = new ChildAdapter(mContext,groupList);
gv_type.setAdapter(childAdapter);
gv_type.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Log.e(TAG,"3333333333333333");
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
Log.e(TAG,"44444444444");
}
});
gv_type.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.e(TAG,"sdfsdfsdf");
listener.onChildItemClick(i);
}
});
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
listener.onItemClick(position);
}
});
return view;
};
public interface onAItemClickListener{
void onItemClick(int position);
void onChildItemClick(int position);
}
private onAItemClickListener listener;
public void setOnItemClickListener (onAItemClickListener onItemClickListener) {
listener = onItemClickListener;
}