4

我是安卓新手。当我在图形布局中添加按钮/视图时,它会以这种方式添加标签文本 - android:text="Button" 。为什么不添加“android:text="@string/my_label" 并在string.xml文件中添加一个字符串资源。不能在eclipse中自动完成吗?

4

6 回答 6

16

我进行了很多搜索,但没有任何自动方式将字符串添加到资源文件中,但是恕我直言,这将为您节省很多时间。

选择一个字符串,点击 Refactor --> Android --> Extract Android String。

于 2012-08-31T17:19:01.160 回答
9

感谢布伦特·赫罗尼克。Windows 上的 CTRL-1 可以正常工作。

于 2014-01-29T22:58:13.077 回答
7

因为您不必使用 @string 资源。@strings 资源的目的是使更改代码元素变得更加容易。例如,如果您在多个地方使用您的应用程序标题,假设在每个对话框中,那么如果您更改标题,则必须在显示应用程序标题的所有实例中更改它。因此在这种情况下,@string/App_Title 可以设置为“我的程序”,并且所有对话框都可以引用它。如果您将标题更改为“Hello World”,那么所有这些都会更改。@strings 资源,虽然 eclipse 尝试,但不必用于每个字符串。不使用它相当于对值进行硬编码。有很多理由支持和反对使用@string 来处理所有事情。

我不确定eclipse中是否有设置会在添加控件时自动将字符串添加到资源文件中。

(编辑:基于其他用户 CTRL+1 是执行此操作的捷径。)

于 2012-08-31T16:45:09.173 回答
3

您可以通过同时单击命令和 1(在 Mac 上,假设它是 Windows 或 Linux 机器上的控件 1)将字符串添加到 strings.xml。这会将资源添加到 strings.xml,然后在编辑器中打开它。

于 2013-08-17T19:52:23.290 回答
3

感谢西迪克·阿布·巴卡尔!我没想到它会在那里。

在 Eclipse(和 Windows)上,快捷方式是:

Alt+Shift+A (全部释放然后按下) S

当您第一次使用 Eclipse 时,很难理解如何使用这些“复杂”的快捷方式。

于 2013-08-22T10:09:35.280 回答
0

我不能投票,也不能评论答案(因为我是新用户,所以声誉不佳)

但我确认:

1) hard type the string in your code like
   mydlg.setTitle("hello guys");
2) select your string (e.g : "hello guys")
3) press Alt + Shift + A then press S

将出现一个对话框,让您将新字符串添加到资源中。一切都应该已经填写到该对话框中。

于 2014-01-24T12:20:21.547 回答