小编amh*_*amh的帖子

为什么这个putExtra传递一个String而不是一个int?

我想通过意图将R.drawable id传递给另一个活动。我正在使用开关来查找正确的可绘制对象,然后使用putExtra()传递它。但是当我调用getIntExtra时,它说我传递了一个字符串。这段代码有问题吗?还是其他地方?

int i = getExerciseId(((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
            Intent intent = new Intent(v.getContext(), LevelActivity.class);
            intent.putExtra("exerciseId", ((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
            intent.putExtra("image", i);
            startActivity(intent);
        }

        public int getExerciseId(String s) {
            int i = -1;
            switch (s) {
                case "Weather":
                    i = R.drawable.weather;
                break;
                case "Weekend":
                    i = R.drawable.weekend;
                break;
                case "Hobbies":
                    i = R.drawable.hobbies;
                break;
                case "Music":
                    i = R.drawable.music;
                break;
                case "Family":
                    i = R.drawable.family;
            }
            return i;
Run Code Online (Sandbox Code Playgroud)

编辑:没有日志错误,我在代码中收到一条红线消息,说:

getIntExtra(String, int) in Intent cannot be applied to (String)
Run Code Online (Sandbox Code Playgroud)

在这行代码中:

intent.getIntExtra("image");
Run Code Online (Sandbox Code Playgroud)

android android-intent

0
推荐指数
1
解决办法
3025
查看次数

标签 统计

android ×1

android-intent ×1