在制作android应用程序时,我可以直接编辑xml文档中的字符串资源吗?

在制作android应用程序时,我可以直接编辑xml文档中的字符串资源吗?,android,xml,android-layout,Android,Xml,Android Layout,我正在努力学习android编程 以下是在 我已经创建了一个启动新活动的应用程序 不管是谁,这次发射什么的。 ` 公共最终静态字符串EXTRA_MESSAGE=“com.example.myfirstapp.MESSAGE”; 公共静态int计数器编号=0 public void thishappens(View view){ Intent intent = new Intent(this, DisplayMessage.class); TextView textView = (

我正在努力学习android编程

以下是在

我已经创建了一个启动新活动的应用程序

不管是谁,这次发射什么的。 ` 公共最终静态字符串EXTRA_MESSAGE=“com.example.myfirstapp.MESSAGE”; 公共静态int计数器编号=0

public void thishappens(View view){
    Intent intent = new Intent(this, DisplayMessage.class);
    TextView textView = (TextView) findViewById(R.id.edit_message);
    String message = textView.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);`
上面启动了新的activity displayMessage.class,下面是一个代码段

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);
    Intent intent = getIntent();
    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

    //Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    //layout refresh
    setContentView(textView);
    setContentView(R.layout.activity_display_message);
}
我的问题是最后两条线。我可以加载布局或在代码中创建的文本视图

所以我的问题是,我可以直接编辑xml文件中的字符串资源吗

我希望将我确实加载的字符串直接加载到“活动\显示\消息”布局中

我不知道怎么做

如何让用户输入并将其转移到下一个活动,同时仍保持为该活动设计的布局

所以我的问题是,我可以直接编辑xml文件中的字符串资源吗

不,您不能在运行时更改
资源。但是你的代码看起来有点愚蠢。当
活动启动时,这一切都将运行。因此,您可以检查消息,然后在版面的
文本视图中设置它

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);
    TextView textView (textView) findViewById(R.id.textView);
    Intent intent = getIntent();
    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

    textView.setText(message);
}
只需在
activity\u display\u message.xml(此处称为
TextView
)内创建
TextView
,然后使用
message
变量设置文本

此外,通常最好进行一些错误检查,例如

if (intent !== null && intent.getStringExtra(MyActivity.EXTRA_MESSAGE != null)
{
    // do your stuff here
}
或者你想怎么做

存储。。。 您可以将该值存储在持久值中,例如
SharedReferences
、文件、数据库等。。。如果你想以后使用它

你可以阅读更多关于这方面的内容

所以我的问题是,我可以直接编辑xml文件中的字符串资源吗

不,您不能在运行时更改
资源。但是你的代码看起来有点愚蠢。当
活动启动时,这一切都将运行。因此,您可以检查消息,然后在版面的
文本视图中设置它

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);
    TextView textView (textView) findViewById(R.id.textView);
    Intent intent = getIntent();
    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

    textView.setText(message);
}
只需在
activity\u display\u message.xml(此处称为
TextView
)内创建
TextView
,然后使用
message
变量设置文本

此外,通常最好进行一些错误检查,例如

if (intent !== null && intent.getStringExtra(MyActivity.EXTRA_MESSAGE != null)
{
    // do your stuff here
}
或者你想怎么做

存储。。。 您可以将该值存储在持久值中,例如
SharedReferences
、文件、数据库等。。。如果你想以后使用它


您可以阅读更多关于这方面的内容,您不需要像这样刷新视图。幸运的是,一旦布局/视图设置为活动视图,Android将动态显示您对其所做的修改。然而,你可以做你想做的事;也就是说,
将您的字符串作为额外字符串传递到您的意图中,并将动态添加的文本视图的文本设置为该字符串,然后最终将该视图添加到活动的内容视图中。

由于您希望将TextView添加到布局中,因此只需在SetContentView(刷新视图注释下方)的位置执行此操作


这将修改布局视图,将新的文本视图和消息作为文本添加到布局中。

您不需要像这样刷新视图。幸运的是,一旦布局/视图设置为活动视图,Android将动态显示您对其所做的修改。然而,你可以做你想做的事;也就是说,
将您的字符串作为额外字符串传递到您的意图中,并将动态添加的文本视图的文本设置为该字符串,然后最终将该视图添加到活动的内容视图中。

由于您希望将TextView添加到布局中,因此只需在SetContentView(刷新视图注释下方)的位置执行此操作


这将修改布局视图,将新的文本视图和消息作为文本添加到布局中。

这不是真正的方法。只需删除第二个setContentView。视图将(您称之为刷新)自身。setContentView告诉活动最初要加载到视图中的视图。之后,您所要做的就是根据需要修改它们。无需刷新(除非您有适配器,否则您将刷新适配器而不是视图)。@zgc7009可能您误解了。对不起。我可以从java代码中编辑strings.xml中的字符串资源,然后将其传输到新的显示器中吗。。。不,你不能,对不起,我误解了:你不是这样做的。只需删除第二个setContentView。视图将(您称之为刷新)自身。setContentView告诉活动最初要加载到视图中的视图。之后,您所要做的就是根据需要修改它们。无需刷新(除非您有适配器,否则您将刷新适配器而不是视图)。@zgc7009可能您误解了。对不起。我可以从java代码中编辑strings.xml中的字符串资源,然后将其传输到新的显示器中吗。。。不,你不能,对不起,我误解了:PHow我会从用户加载输入到第二个布局中,而不替换整个布局吗?我必须导入哪些软件包才能使其工作?谢谢你的帮助@zgc7009@christopherbaldwin没有,你不能那样做。您可以在intent的捆绑附加组件中传递变量,或者使用共享pref.Man之类的东西将其存储在某处。你从哪里学来的?除了谷歌,你对教程还有什么建议吗?我有点迷路了。我的问题是关于在android Studio中显示为编译器错误的LayoutParams。我如何将用户加载的输入输入到第二个布局中,而不替换整个布局?我必须导入哪些包才能使其正常工作?谢谢你的帮助@zgc7009@christopherbaldwin我