У меня есть проблема с добавлением счетчика в мой AlertDialog.Как добавить Spinner в AlertDialog в RecyclerItemClickListener
Я пользуюсь списком RecyclerView, и когда я нажимаю на элемент RecyclerView, AlertDialog открыт, и в этом AlertDialog есть Spinner. Но у моего AlertDialog есть проблемы для открытия. этот вопрос является:
12-05 14:12:37.695 17204-17204/br.com.appoint.android E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at br.com.appoint.android.activity.AgendaActivity$1.onItemClick(AgendaActivity.java:125)
at br.com.appoint.android.listener.RecyclerItemClickListener.onInterceptTouchEvent(RecyclerItemClickListener.java:39)
at android.support.v7.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2117)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2246)
at android.view.View.dispatchTouchEvent(View.java:7690)
Следуйте ниже мое AgendaAcitivty класса (только часть alertDialog) и мой класс RecyclerItemClickListener.
Я не знаю, в чем проблема, не могли бы вы мне помочь? благодаря
AgendaActivity.class
mRecyclerViewResult.addOnItemTouchListener(new RecyclerItemClickListener(AgendaActivity.this,
new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext(), position);
LayoutInflater layoutInflater = getLayoutInflater();
View view1 = layoutInflater.inflate(R.layout.confirmar_consulta_layout, null, true);
List<String> list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 3");
list.add("Item 3");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(view.getContext(),
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner1.setAdapter(dataAdapter);
builder.setView(view1);
builder.setPositiveButton(getString(R.string.confirm), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
//Toast.makeText(AgendaActivity.this, "click no item do recycleview", Toast.LENGTH_LONG).show();
}
}));
Следуйте мой RecyclerItemClickListener класс
общественного класса RecyclerItemClickListener реализует RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;
public interface OnItemClickListener {
public void onItemClick(View view, int position);
}
GestureDetector mGestureDetector;
public RecyclerItemClickListener(Context context, OnItemClickListener listener) {
mListener = listener;
mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override public boolean onSingleTapUp(MotionEvent e) {
return true;
}
});
}
@Override
public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
View childView = view.findChildViewUnder(e.getX(), e.getY());
if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
mListener.onItemClick(childView, view.getChildPosition(childView));
}
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
Проблема occors в Thie строке кода: (из класса myRecyclerItemClickListener)
if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
mListener.onItemClick(childView, view.getChildPosition(childView));
}
'надуть (R.layout.confirmar_consulta_layout, NULL, истина),' поэтому вы надувать ваш взгляд на нулевой родитель – pskink
Не работает, я думаю, что моя проблема в адаптере. –
что «не работает»? – pskink