-1

public class RecyclerViewFragment extends Fragment {

static final boolean GRID_LAYOUT = false;
private static final int ITEM_COUNT = 10;
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private List<Object> mContentItems = new ArrayList<>();
TextView result;
EditText operant;
int res;
public static RecyclerViewFragment newInstance() {
    return new RecyclerViewFragment();
}

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_recyclerview, container, false);
    result = (TextView) v.findViewById(R.id.result);
    operant = (EditText) v.findViewById(R.id.operant);


    operant.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            try {
                res = Integer.parseInt(operant.getText().toString()) * 100;
                result.setText("" + res);
            } catch (NumberFormatException e) {
                e.printStackTrace();
                result.setText("");
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });
    return v;
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
    RecyclerView.LayoutManager layoutManager;

    if (GRID_LAYOUT) {
        layoutManager = new GridLayoutManager(getActivity(), 2);
    } else {
        layoutManager = new LinearLayoutManager(getActivity());
    }
    mRecyclerView.setLayoutManager(layoutManager);
    mRecyclerView.setHasFixedSize(true);

    //Use this now
    mRecyclerView.addItemDecoration(new MaterialViewPagerHeaderDecorator());

    mAdapter = new TestRecyclerViewAdapter(mContentItems);

    //mAdapter = new RecyclerViewMaterialAdapter();
    mRecyclerView.setAdapter(mAdapter);

    {
        for (int i = 0; i < ITEM_COUNT; ++i) {
            mContentItems.add(new Object());
        }
        mAdapter.notifyDataSetChanged();
    }
}

}

Attempt to invoke virtual method 'void android.widget.EditText.addTextChangedListener(android.text.TextWatcher)' on a null object reference i am getting this error

2 Answers2

0

Move all initializations into

onViewCreated(...)

Domen Jakofčič
  • 546
  • 1
  • 7
  • 22
0

i think operant id is in another layout file
check your fragment_recyclerview.xml layout file and ensure that you have an EditText with id = operant