当前位置: 首页 > 知识库问答 >
问题:

模拟器崩溃"无效int"

应煌
2023-03-14

我被代码卡住了,无法继续。模拟器崩溃,堆栈指向第47行。请帮助初学者!

public class MainActivity3 extends AppCompatActivity implements View.OnClickListener {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        Button obutton = (Button) findViewById(R.id.obutton);
        obutton.setOnClickListener(this);

        final Button btn = (Button) findViewById(R.id.button);
        final EditText edt = (EditText) findViewById(R.id.editText);
        final ListView listview = (ListView) findViewById(R.id.Lista);
        final ArrayList<String> list = new ArrayList<>();



            final StableArrayAdapter adapter = new StableArrayAdapter(this, android.R.layout.simple_list_item_1, list);
            listview.setAdapter(adapter);
            btn.setOnClickListener(new View.OnClickListener() {


                @Override
                public void onClick(View v) {
                if (edt.getText().toString() != null) {
                    adapter.addItem(edt.getText().toString());
                }
                }
            });
    }

    private class StableArrayAdapter extends ArrayAdapter<String> {

        ArrayList<String> data = new ArrayList<>();
        private List mIdMap;


        public StableArrayAdapter(Context context, int textViewResourceId,
                                  List<String> objects) {
            super(context, textViewResourceId, objects);
            this.data = (ArrayList) objects;
        }

        @Override
        public long getItemId(int position) {
            String item = getItem(position);
            return (long) mIdMap.get(Integer.parseInt(item)) <-- Crashing 
        }

        public void addItem(String item) {
            data.add(item);
            notifyDataSetChanged();
        }
    }



    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.obutton:
                Intent obama = new Intent(MainActivity3.this, MainActivity.class);
                startActivity(obama);
            case R.id.button:
                Intent test = new Intent(MainActivity3.this, Main6Activity.class);
                startActivityForResult(test, 1);

        }

    }


}

堆栈错误:

致命的例外:主java。lang.NumberFormatException:无效的int:“t”在java中。整型。invalidInt(Integer.java:138)

共有2个答案

张俊茂
2023-03-14

改变:

    @Override
    public long getItemId(int position) {
        String item = getItem(position);
        return (long) mIdMap.get(Integer.parseInt(item)) <-- Crashing 

to:@覆盖公共长getItemId(int位置){返回-1l;使其工作。

濮波
2023-03-14

您正在分析无效的整数。字符串应该只包含数字,以便将其解析为int。

目前,您正在将“t”解析为整数,因此会出现错误。项目应类似于“0”、“1”或任何数字字符串。

 类似资料:
  • 我想在地图上画一条折线 进口com.google.android.gms.maps.model.Polyline;进口com.google.android.gms.maps.model.PolylineOptions; 导入java.util。ArrayList;导入java.util.List; 公共类 MainActivity extends AppCompatActivity 实现了 OnM

  • 问题内容: 当我把一个函数内发生的错误在。抱歉,我也将放置我的日志,因此它可能会使我的帖子过大,所以我将告诉您布局。我很抱歉有很多问题。 如果我只是不将函数放在片段中,则代码可以完美工作。快速说明该功能基本上使我的图像处于3向按钮(也称为开始停止重置)的位置,当您重置时,它将弹出您确切时间的提示 1) 2)日志 3) 4) 问题答案: 您无法使用from,因为尚未创建片段的活动。您应该使用not

  • 在MacBook Air 2017(版本11.4测试版)上运行模拟器 仿真器的思想日志:

  • 我正在为android建立一个应用程序,到目前为止事情进展顺利。该应用程序在模拟器中运行良好,直到我决定使用一张来自web的图片,将其下载为.png,并将其用作我在登录屏幕中的背景图像。 这应该很好(login是login.png文件)。 有一条错误消息说 当我启动应用程序时,模拟器启动并尝试启动应用程序,但它突然退出并说“不幸的是,”AppName“已经停止”。

  • 更新XCode 8.2后,每次保存模拟器屏幕截图都会使其崩溃。即使我重置了内容和设置,仍然会崩溃。 我应该删除所有模拟器并再次安装它们吗? 更新: 8.2.1也有同样的问题 8.3只支持塞拉利昂 以下是坠机报告:

  • 我在我的应用程序中点击发送按钮,模拟器出现以下错误消息: HAX正在工作,模拟器以快速virt模式运行 DYLD:惰性符号绑定失败:找不到符号:_UTF8_WRITE引用自:/users/nabil/documents/development/android/sdk/tools/emulator64-x86预期在:平面名称空间中DYLD:找不到符号:_UTF8_WRITE引用自:/users/na