Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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
我试图从我的HomeActivity中为菜单充气,但当我单击列表中的任何项目时,应用程序崩溃 E/AndroidRuntime:致命异常:主 进程:com.example.myapplication,PID:22175 android.content.res.Resources$NotFoundException:字符串资源ID#0x3c 位于android.content.res.Resources.getText(Resources.java:367) 位于android.widget.TextView.setText(TextView.java:6370) 在com.example.myapplication.HomeActivity.updateData(HomeActivity.java:244)上 在com.example.myapplication.HomeActivity$4$1.onClick上(HomeActivity.java:187) 在android.view.view.performClick上(view.java:7125) 在android.view.view.performClickInternal(view.java:7102) 在android.view.view.access$3500(view.java:801) 在android.view.view$PerformClick.run(view.java:27336) 位于android.os.Handler.handleCallback(Handler.java:883) 位于android.os.Handler.dispatchMessage(Handler.java:100) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 公共void updateData(){ AlertDialog.Builder mydialog=新建AlertDialog.Builder(HomeActivity.this); LayoutFlater充气器=LayoutFlater.from(HomeActivity.this); 视图mView=充气机。充气(R.layout.update\u inputfield,null); final AlertDialog=mydialog.create(); 对话框.setView(mView); 最终编辑文本edt_类型=mView.findviewbyd(R.id.edt_类型\u upd); 最终编辑文本edt\U金额=mView.findviewbyd(R.id.edt\u金额\u upd); 最终编辑文本edt_Note=mView.findviewbyd(R.id.edt_Note_upd); edt_Type.setText(Type); edt_Type.setSelection(Type.length()); edt_金额.setText(金额); edt_Amount.setSelection(String.valueOf(Amount.length()); //edt_Amount.setSelection(Integer.toString(Amount.length()); edt_Note.setText(注释); edt_Note.setSelection(Note.length()); 按钮btnUpdate=mView.findviewbyd(R.id.btn\u save\u upd); 按钮btnDelete=mView.findviewbyd(R.id.btn\u delete\u upd); btnUpdate.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ type=edt_type.getText().toString().trim(); String mAmount=String.valueOf(金额); mAmount=edt_Amount.getText().toString().trim(); note=edt_note.getText().toString().trim(); int amt=Integer.parseInt(mAmount); 字符串日期=DateFormat.getDateInstance().format(新日期()); 数据数据=新数据(类型、金额、备注、日期、邮政编码); mDatabase.child(post_key).setValue(数据); dialog.dismise(); } }); 我从中调用这个updateData()方法 受保护的void onStart(){ super.onStart(); FirebaseRecyclerAdapteradapter=新的FirebaseRecyclerAdapter ( Data.class, R.layout.item_数据, MyViewHolder.class, mDatabase ) { @凌驾 受保护的void populateViewHolder(MyViewHolder viewHolder、最终数据模型、最终int位置){ setDate(model.getDate()); setType(model.getType()); setAmount(model.getAmount()); setNote(model.getNote()); viewHolder.myview.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ post_key=getRef(位置).getKey(); type=model.getType(); note=model.getNote(); amount=model.getAmount(); //amount=model.getAmount(); 更新数据(); } }); } }; recyclerView.setAdapter(适配器); }_Java_Android - Fatal编程技术网

我试图从我的HomeActivity中为菜单充气,但当我单击列表中的任何项目时,应用程序崩溃 E/AndroidRuntime:致命异常:主 进程:com.example.myapplication,PID:22175 android.content.res.Resources$NotFoundException:字符串资源ID#0x3c 位于android.content.res.Resources.getText(Resources.java:367) 位于android.widget.TextView.setText(TextView.java:6370) 在com.example.myapplication.HomeActivity.updateData(HomeActivity.java:244)上 在com.example.myapplication.HomeActivity$4$1.onClick上(HomeActivity.java:187) 在android.view.view.performClick上(view.java:7125) 在android.view.view.performClickInternal(view.java:7102) 在android.view.view.access$3500(view.java:801) 在android.view.view$PerformClick.run(view.java:27336) 位于android.os.Handler.handleCallback(Handler.java:883) 位于android.os.Handler.dispatchMessage(Handler.java:100) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 公共void updateData(){ AlertDialog.Builder mydialog=新建AlertDialog.Builder(HomeActivity.this); LayoutFlater充气器=LayoutFlater.from(HomeActivity.this); 视图mView=充气机。充气(R.layout.update\u inputfield,null); final AlertDialog=mydialog.create(); 对话框.setView(mView); 最终编辑文本edt_类型=mView.findviewbyd(R.id.edt_类型\u upd); 最终编辑文本edt\U金额=mView.findviewbyd(R.id.edt\u金额\u upd); 最终编辑文本edt_Note=mView.findviewbyd(R.id.edt_Note_upd); edt_Type.setText(Type); edt_Type.setSelection(Type.length()); edt_金额.setText(金额); edt_Amount.setSelection(String.valueOf(Amount.length()); //edt_Amount.setSelection(Integer.toString(Amount.length()); edt_Note.setText(注释); edt_Note.setSelection(Note.length()); 按钮btnUpdate=mView.findviewbyd(R.id.btn\u save\u upd); 按钮btnDelete=mView.findviewbyd(R.id.btn\u delete\u upd); btnUpdate.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ type=edt_type.getText().toString().trim(); String mAmount=String.valueOf(金额); mAmount=edt_Amount.getText().toString().trim(); note=edt_note.getText().toString().trim(); int amt=Integer.parseInt(mAmount); 字符串日期=DateFormat.getDateInstance().format(新日期()); 数据数据=新数据(类型、金额、备注、日期、邮政编码); mDatabase.child(post_key).setValue(数据); dialog.dismise(); } }); 我从中调用这个updateData()方法 受保护的void onStart(){ super.onStart(); FirebaseRecyclerAdapteradapter=新的FirebaseRecyclerAdapter ( Data.class, R.layout.item_数据, MyViewHolder.class, mDatabase ) { @凌驾 受保护的void populateViewHolder(MyViewHolder viewHolder、最终数据模型、最终int位置){ setDate(model.getDate()); setType(model.getType()); setAmount(model.getAmount()); setNote(model.getNote()); viewHolder.myview.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ post_key=getRef(位置).getKey(); type=model.getType(); note=model.getNote(); amount=model.getAmount(); //amount=model.getAmount(); 更新数据(); } }); } }; recyclerView.setAdapter(适配器); }

我试图从我的HomeActivity中为菜单充气,但当我单击列表中的任何项目时,应用程序崩溃 E/AndroidRuntime:致命异常:主 进程:com.example.myapplication,PID:22175 android.content.res.Resources$NotFoundException:字符串资源ID#0x3c 位于android.content.res.Resources.getText(Resources.java:367) 位于android.widget.TextView.setText(TextView.java:6370) 在com.example.myapplication.HomeActivity.updateData(HomeActivity.java:244)上 在com.example.myapplication.HomeActivity$4$1.onClick上(HomeActivity.java:187) 在android.view.view.performClick上(view.java:7125) 在android.view.view.performClickInternal(view.java:7102) 在android.view.view.access$3500(view.java:801) 在android.view.view$PerformClick.run(view.java:27336) 位于android.os.Handler.handleCallback(Handler.java:883) 位于android.os.Handler.dispatchMessage(Handler.java:100) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 公共void updateData(){ AlertDialog.Builder mydialog=新建AlertDialog.Builder(HomeActivity.this); LayoutFlater充气器=LayoutFlater.from(HomeActivity.this); 视图mView=充气机。充气(R.layout.update\u inputfield,null); final AlertDialog=mydialog.create(); 对话框.setView(mView); 最终编辑文本edt_类型=mView.findviewbyd(R.id.edt_类型\u upd); 最终编辑文本edt\U金额=mView.findviewbyd(R.id.edt\u金额\u upd); 最终编辑文本edt_Note=mView.findviewbyd(R.id.edt_Note_upd); edt_Type.setText(Type); edt_Type.setSelection(Type.length()); edt_金额.setText(金额); edt_Amount.setSelection(String.valueOf(Amount.length()); //edt_Amount.setSelection(Integer.toString(Amount.length()); edt_Note.setText(注释); edt_Note.setSelection(Note.length()); 按钮btnUpdate=mView.findviewbyd(R.id.btn\u save\u upd); 按钮btnDelete=mView.findviewbyd(R.id.btn\u delete\u upd); btnUpdate.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ type=edt_type.getText().toString().trim(); String mAmount=String.valueOf(金额); mAmount=edt_Amount.getText().toString().trim(); note=edt_note.getText().toString().trim(); int amt=Integer.parseInt(mAmount); 字符串日期=DateFormat.getDateInstance().format(新日期()); 数据数据=新数据(类型、金额、备注、日期、邮政编码); mDatabase.child(post_key).setValue(数据); dialog.dismise(); } }); 我从中调用这个updateData()方法 受保护的void onStart(){ super.onStart(); FirebaseRecyclerAdapteradapter=新的FirebaseRecyclerAdapter ( Data.class, R.layout.item_数据, MyViewHolder.class, mDatabase ) { @凌驾 受保护的void populateViewHolder(MyViewHolder viewHolder、最终数据模型、最终int位置){ setDate(model.getDate()); setType(model.getType()); setAmount(model.getAmount()); setNote(model.getNote()); viewHolder.myview.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图){ post_key=getRef(位置).getKey(); type=model.getType(); note=model.getNote(); amount=model.getAmount(); //amount=model.getAmount(); 更新数据(); } }); } }; recyclerView.setAdapter(适配器); },java,android,Java,Android,我正在制作一个每日购物清单应用程序,我使用firebaserecycler adapter创建了一个清单,但当我点击任何清单项目时,它不会像应该的那样显示膨胀的菜单。 任何帮助都将不胜感激! 当我点击任何一个项目时,应用程序总是崩溃。 当我点击浮动动作按钮时,它给了我一个膨胀的菜单 当我单击任何列表项时,它都不起作用 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myapplication, PID: 2

我正在制作一个每日购物清单应用程序,我使用firebaserecycler adapter创建了一个清单,但当我点击任何清单项目时,它不会像应该的那样显示膨胀的菜单。 任何帮助都将不胜感激! 当我点击任何一个项目时,应用程序总是崩溃。 当我点击浮动动作按钮时,它给了我一个膨胀的菜单 当我单击任何列表项时,它都不起作用

E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.example.myapplication, PID: 22175
        android.content.res.Resources$NotFoundException: String resource ID #0x3c
            at android.content.res.Resources.getText(Resources.java:367)
            at android.widget.TextView.setText(TextView.java:6370)
            at com.example.myapplication.HomeActivity.updateData(HomeActivity.java:244)
            at com.example.myapplication.HomeActivity$4$1.onClick(HomeActivity.java:187)
            at android.view.View.performClick(View.java:7125)
            at android.view.View.performClickInternal(View.java:7102)
            at android.view.View.access$3500(View.java:801)
            at android.view.View$PerformClick.run(View.java:27336)
            at android.os.Handler.handleCallback(Handler.java:883)
            at android.os.Handler.dispatchMessage(Handler.java:100)
            at android.os.Looper.loop(Looper.java:214)
            at android.app.ActivityThread.main(ActivityThread.java:7356)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)



public  void updateData(){

        AlertDialog.Builder mydialog = new AlertDialog.Builder(HomeActivity.this);
        LayoutInflater inflater = LayoutInflater.from(HomeActivity.this);
        View mView = inflater.inflate(R.layout.update_inputfield,null);
        final AlertDialog dialog = mydialog.create();

        dialog.setView(mView);


        final EditText edt_Type = mView.findViewById(R.id.edt_type_upd);
        final EditText edt_Amount = mView.findViewById(R.id.edt_amount_upd);
        final EditText edt_Note = mView.findViewById(R.id.edt_note_upd);

        edt_Type.setText(type);
        edt_Type.setSelection(type.length());

        edt_Amount.setText(amount);
        edt_Amount.setSelection(String.valueOf(amount).length());
        //edt_Amount.setSelection(Integer.toString(amount).length());

        edt_Note.setText(note);
        edt_Note.setSelection(note.length());

        Button btnUpdate = mView.findViewById(R.id.btn_save_upd);
        Button btnDelete = mView.findViewById(R.id.btn_delete_upd);

        btnUpdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                type = edt_Type.getText().toString().trim();

                String mAmount = String.valueOf(amount);
                mAmount = edt_Amount.getText().toString().trim();

                note = edt_Note.getText().toString().trim();

                int amt = Integer.parseInt(mAmount);

                String date = DateFormat.getDateInstance().format(new Date());

                Data data = new Data(type,amt,note,date,post_key);

                mDatabase.child(post_key).setValue(data);

                dialog.dismiss();
            }
        });

And I am calling this updateData() method from 

   

  protected void onStart() {
            super.onStart();
    
            FirebaseRecyclerAdapter<Data,MyViewHolder>adapter=new FirebaseRecyclerAdapter<Data, MyViewHolder>
                    (
                            Data.class,
                            R.layout.item_data,
                            MyViewHolder.class,
                            mDatabase
                    )
            {
    
      
    
          @Override
            protected void populateViewHolder(MyViewHolder viewHolder, final Data model, final int position) {
    
                viewHolder.setDate(model.getDate());
                viewHolder.setType(model.getType());
                viewHolder.setAmount(model.getAmount());
                viewHolder.setNote(model.getNote());
    
                viewHolder.myview.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
    
                        post_key=getRef(position).getKey();
                        type=model.getType();
                        note=model.getNote();
                        amount=model.getAmount();
    
                        //amount=model.getAmount();
    
                        updateData();
                    }
                });
    
            }
        };
    
        recyclerView.setAdapter(adapter);
    }
amount是整数。使用int调用setText时,它正在查找amount的ID,这就是它失败的原因。将该行更改为:

edt_Amount.setText(amount);
我会继续阅读你的代码,看看它是否会发生更多,如果会编辑

编辑:

这部分是一种不好的做法,您正在获取一个int,将其转换为String,并且什么也不做。请将该字符串重新指定为其他值。然后将该值解析回int,您可以将其替换为:

String mAmount = String.valueOf(amount);
            mAmount = edt_Amount.getText().toString().trim();

            note = edt_Note.getText().toString().trim();

            int amt = Integer.parseInt(mAmount);
请注意,该行


是否可以,您可以在其他行之后/之前保留它

发布您的代码?似乎您正在尝试放置字符串,但可能会改为发送int?例如,int a=5;editText.setText(a);类似的内容。无论如何,需要代码来查看错误。确定我将编辑帖子并粘贴更新代码将值更改为this=>edt_Amount.setText(String.valueOf(Amount.length());并重新分配值int amt=Integer.parseInt(edt_Amount.getText().toString().trim());但它仍然显示相同的错误抱歉,我更改了线路,您不需要最后的长度。错误
String mAmount = String.valueOf(amount);
            mAmount = edt_Amount.getText().toString().trim();

            note = edt_Note.getText().toString().trim();

            int amt = Integer.parseInt(mAmount);
int amt = Integer.parseInt(edt_Amount.getText().toString().trim());
            note = edt_Note.getText().toString().trim();