java - 模拟器崩溃 "Invalid int"

标签 java android

我陷入了代码困境,无法继续执行。模拟器崩溃,堆栈指向第 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);

        }

    }


}

堆栈错误:

FATAL EXCEPTION: main java.lang.NumberFormatException: Invalid int: "t" at java.lang.Integer.invalidInt(Integer.java:138)

最佳答案

您正在解析无效的整数。字符串应该只包含数字才能将其解析为 int。

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

关于java - 模拟器崩溃 "Invalid int",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40734596/

相关文章:

java - 在 Java 中 fork 一个进程

java - NFC 规范化语义在 Java 6 和 7 之间是否发生了变化?

除了数据库列之外,Android 向微调器添加额外的项目

java - 无法理解 logcat 错误

android - TextView 中文本顶部的额外空间?

java - Collections.sort - IllegalArgumentException : Comparison method violates its general contract

java - 无法从 Eclipse DataSource Explorer 连接到 MySQl 数据库

java - 如何从 Java 中使用的链接 URL 检索 XML/RDF 数据?

java - Selenium 和 xpath : finding a div with a class and onClick function not working

android - 我怎样才能在android中的线性布局中制作阴影效果?