android:从字符串数组中获取项目,并在文本视图中逐个显示
当我写标题时,我需要一些帮助,从字符串数组中获取项目,并在文本视图中逐个显示。我有代码,可以在列表视图中获取所有项目,但每次我都需要在文本视图中逐个显示它们。这里随机显示我的代码,很抱歉我的英语不好 ,无论如何谢谢你的帮助android:从字符串数组中获取项目,并在文本视图中逐个显示,android,xml,arrays,sharedpreferences,Android,Xml,Arrays,Sharedpreferences,当我写标题时,我需要一些帮助,从字符串数组中获取项目,并在文本视图中逐个显示。我有代码,可以在列表视图中获取所有项目,但每次我都需要在文本视图中逐个显示它们。这里随机显示我的代码,很抱歉我的英语不好 ,无论如何谢谢你的帮助 public class MainActivity extends ListActivity { String[] mTestArray; /** Called when the activity is first created. */ @Overrid
public class MainActivity extends ListActivity {
String[] mTestArray;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create an ArrayAdapter that will contain all list items
ArrayAdapter<String> adapter;
mTestArray = getResources().getStringArray(R.array.planets_array);
/* Assign the name array to that adapter and
also choose a simple layout for the list items */
adapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
mTestArray);
// Assign the adapter to this ListActivity
setListAdapter(adapter);
}
}
public类MainActivity扩展了ListActivity{
字符串[]mTestArray;
/**在首次创建活动时调用*/
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//创建将包含所有列表项的ArrayAdapter
阵列适配器;
mTestArray=getResources().getStringArray(R.array.planets\u数组);
/*将名称数组分配给该适配器,然后
还要为列表项选择一个简单的布局*/
适配器=新阵列适配器(
这
android.R.layout.simple\u list\u item\u 1,
mTestArray);
//将适配器分配给此ListActivity
setListAdapter(适配器);
}
}
XML文件:
<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"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@array/planets_array"
/>
</RelativeLayout>
和字符串数组文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
</string-array>
</resources>
水星
维纳斯
土
火星
好的,通过评论,我理解了您的需求,并编辑了我的答案。您希望在文本视图中随机显示数组的值
使用此活动:
public class MainActivity extends Activity {
String[] mTestArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sample);
mTestArray = getResources().getStringArray(R.array.planets_array);
}
@Override
protected void onResume() {
super.onResume();
updateTextView();
}
private void updateTextView() {
TextView textView = (TextView)findViewById(R.id.randomTextView);
Random random = new Random();
int maxIndex = mTestArray.length;
int generatedIndex = random.nextInt(maxIndex);
textView.setText(mTestArray[generatedIndex]);
}
}
将此布局放在res/layout文件夹下,并将其命名为sample.xml
<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"
tools:context=".MainActivity" >
<TextView
android:id="@+id/randomTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
您希望随机或按顺序显示它们吗?请。检查我的答案。如果你的问题得到了回答,请。接受答案:)你不想要列表视图,对吗?只有文本视图可以在其中随机显示数组值?谢谢您的帮助,是的,我想让它在每次应用程序启动时显示随机值,当应用程序再次运行时,给出另一个随机值。我希望你理解为什么你不想要列表视图?不,我不需要列表视图所有我需要的文本视图每次运行此应用程序时显示字符串数组中的1个随机值。。感谢回复:)然后从活动扩展而不是列表活动。将活动内容设置为具有textView(或直接设置为textView)的布局。然后用我答案上的代码得到随机索引。然后使用该索引获取一个随机数组项。将该数组项的文本设置为textView。谢谢你的帮助我会离开这一点我真的很累我会找到其他的方法抱歉我在android开发方面还是新手:)