Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从片段解析空对象引用_Java_Android_Android Fragments - Fatal编程技术网

Java 如何从片段解析空对象引用

Java 如何从片段解析空对象引用,java,android,android-fragments,Java,Android,Android Fragments,公共类RecycleServicewFragment扩展了片段{ 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&l

公共类RecycleServicewFragment扩展了片段{

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();
    }
}
static final boolean GRID\u LAYOUT=false;
私有静态最终整数项目计数=10;
私人回收视图mRecyclerView;
专用回收器查看适配器mAdapter;
private List mContentItems=new ArrayList();
文本视图结果;
编辑文本操作;
国际关系;
公共静态RecycleServicewFragment newInstance(){
返回新的RecycleServicewFragment();
}
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图v=充气机。充气(R.layout.fragment\u recyclerview,container,false);
结果=(TextView)v.findViewById(R.id.result);
operant=(编辑文本)v.findviewbyd(R.id.operant);
operant.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前的公共无效(CharSequence CharSequence,int i,int i1,int i2){
}
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
试一试{
res=Integer.parseInt(operant.getText().toString())*100;
result.setText(“+res”);
}捕获(数字格式){
e、 printStackTrace();
result.setText(“”);
}
}
@凌驾
public void PostTextChanged(可编辑){
}
});
返回v;
}
@凌驾
已创建视图上的公共void(视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
mRecyclerView=(RecyclerView)view.findviewbyd(R.id.RecyclerView);
RecyclerView.LayoutManager LayoutManager;
if(网格布局){
layoutManager=新的GridLayoutManager(getActivity(),2);
}否则{
layoutManager=新的LinearLayoutManager(getActivity());
}
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setHasFixedSize(true);
//现在就用这个
mRecyclerView.addItemDecoration(新材料viewPagerHeaderDecorator());
mAdapter=新的TestRecycleServiceAdapter(mContentItems);
//mAdapter=新的RecycleServiceWMaterialAdapter();
mRecyclerView.setAdapter(mAdapter);
{
对于(int i=0;i
}

尝试在空对象引用上调用虚拟方法“void android.widget.EditText.addTextChangedListener(android.text.TextWatcher)”
我遇到此错误

将所有初始化移动到

onViewCreated(…)


我认为操作id在另一个布局文件中

检查fragment\u recyclerview.xml布局文件,确保您有id=operant的EditText

fragment\u recyclerview布局中是否有id为operant的编辑文本?该布局中有一个回收器视图,就是它。。。但有一个适配器类包含其他组件。如果result和operant是recycler视图的元素,则它们应该在视图保持器中初始化。看一看有关“回收器视图”实现的教程。您的实现完全错误。@SrikarReddy好的,谢谢,我会看一下的