Java 在android studio中从活动xml文件的文本字段中的字符串更改为字符串数组时出错
我想在每次打开android应用程序时显示随机字符串。使用stackoverflow,我能够编写一个java程序,从资源文件中获取随机字符串Java 在android studio中从活动xml文件的文本字段中的字符串更改为字符串数组时出错,java,android,arrays,xml,string,Java,Android,Arrays,Xml,String,我想在每次打开android应用程序时显示随机字符串。使用stackoverflow,我能够编写一个java程序,从资源文件中获取随机字符串 package com.example.krishna.quotes; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.util.Random; import android.content.res.Resources;
package com.example.krishna.quotes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.Random;
import android.content.res.Resources;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private String[] myString;
private static final Random rgenerator = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Resources res = getResources();
myString = res.getStringArray(R.array.quotes_array);
String q = myString[rgenerator.nextInt(myString.length)];
TextView tv = (TextView) findViewById(R.id.text);
tv.setText(q);
}
}
当我在活动xml文件的文本字段中使用字符串类型时,应用程序的构建没有任何错误
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.krishna.quotes.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string-array/quotes_array"
android:textAlignment="center"
android:textSize="23sp"
android:gravity="center|center_horizontal"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
但由于我不希望每次打开应用程序时只显示一个字符串,所以我将所有字符串收集到一个字符串数组中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array
name="quotes_array">
<item>@string/quote1</item>
<item>@string/quote2</item>
<item>@string/quote3</item>
<item>@string/quote4</item>
<item>@string/quote5</item>
<item>@string/quote6</item>
<item>@string/quote7</item>
<item>@string/quote8</item>
<item>@string/quote9</item>
<item>@string/quote10</item>
<item>@string/quote11</item>
<item>@string/quote12</item>
<item>@string/quote13</item>
<item>@string/quote14</item>
<item>@string/quote15</item>
</string-array>
</resources>
@字符串/quote1
@字符串/引号2
@字符串/quote3
@字符串/quote4
@字符串/quote5
@字符串/quote6
@字符串/quote7
@字符串/quote8
@字符串/quote9
@字符串/quote10
@字符串/quote11
@字符串/quote12
@字符串/quote13
@字符串/quote14
@字符串/quote15
更改活动xml文件中的文本字段时出现以下错误:
错误:(15,23)未找到与给定名称匹配的资源(在“text”处,值为“@string array/quotes_array”)。
错误:任务“:app:processDebugResources”的执行失败
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'/home/krishna/android/Sdk/build tools/23.0.2/aapt''以非零退出值1结束
问题很可能是字符串数组类型,android studio无法处理该类型。我如何克服这个问题来构建我的第一个android应用程序?我很高兴能向我的朋友们展示我的应用程序,但这个小错误正在妨碍我。谢谢你的帮助。请不要叫我书呆子,而要写信
字符串数组名称=“引号\u数组”
在您的Strings.xml中
使用
array name=“quotes\u array”我认为需要使用
android:text=“@array/quotes\u array”