【发布时间】:2016-04-10 15:15:04
【问题描述】:
在我的具有选项卡式活动的应用程序中,我正在向 textView 和 logcat 发送一条简单的消息(指示我正在选择哪个选项卡的消息)。
然而,textView 显示正确的字符串,而 logcat 显示不同的字符串。
重现此问题的步骤非常简单:
启动一个新的 Android Studio 项目(我的 Android Studio 版本:1.5.1)
提供任何应用程序名称(例如 MyApplication)
只选择“手机和平板电脑”
选择“选项卡式活动”
选择导航样式“操作栏选项卡(带有视图分页器)”
点击完成
这将生成并构建项目。如果我们运行这个应用程序,它将在第一个选项卡上显示字符串“Hello World from section: 1”,在第二个选项卡上显示“Hello World from section: 2”,在第三个选项卡上显示“Hello World from section: 3”。
现在,进入MainActivity.java 和方法onCreateView(class PlaceholderFragment)就在这一行下方(它将字符串发送到 textView),
textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER)));
添加这一行
Log.i("onCreateView", "From tab number: " + getArguments().getInt(ARG_SECTION_NUMBER));
预期行为:
textView 和 logcat 都应该在我们点击标签时显示相同的消息。
实际行为:
textView 显示正确的字符串。但是在 logcat 中,显示的选项卡编号不正确,因此与 textView 输出不一致。
这确实很奇怪,最重要的是,当我尝试自己形成字符串并将其传递给 textView 和 LogCat 时,而不是这个
String strMessage = "Msg from tab number: " + getArguments().getInt(ARG_SECTION_NUMBER);
textView.setText (strMessage);
Log.i("onCreateView", strMessage);
它仍然具有相同的行为,即在 textView 中为相关选项卡显示正确的字符串,但 Logcat 显示完全不同的选项卡编号。我发送的字符串相同,但只有数字变化???
【问题讨论】:
标签: java android android-studio