java如何将硬编码字符串数组更改为字符串[]myString=getResources()。getStringArray(R.array.myStringGarray);
我对安卓 eclipse编程还很陌生。我花了好几天时间在网上搜索答案,但还没有找到答案。 我已经设法让listview使用片段工作,但是字符串数据是硬编码的,我想使用resources xml文件中的字符串
这是硬编码的数据
public static final String[] message1 = new String[] { "Strawberry",
"Banana", "Orange", "Mixed" };
这是我的绳子 //要为行数据消息1显示的字符串数组数据
String[] message1 = getResources().getStringArray(R.array.main_page_list_string);
从我的弦上。xml文件
<string-array name="main_page_list_string">
<item >Instruments</item>
<item >Capasiters</item>
<item >Resisters</item>
<item >Ohms Law</item>
<item >IP Ratings</item>
<item>Thermostats</item>
<item>Converters</item>
<item >RJ 45 A and B plugs</item><item>Calculators</item>
</string-array>
每次我替换
public static final String[] message1 = new String[] { "Strawberry",
"Banana", "Orange", "Mixed" };
与
String[] message1 = getResources().getStringArray(R.array.main_page_list_string);
我的应用程序崩溃,错误消息为空点异常
有人能告诉我怎么做吗enter code here
谢谢
这是java类文件
import 安卓.app.Activity;
import 安卓.os.Bundle;
import 安卓.view.Gravity;
import 安卓.view.View;
import 安卓.widget.AdapterView;
import 安卓.widget.AdapterView.OnItemClickListener;
import 安卓.widget.ListView;
import 安卓.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class ImageTextListBaseAdapterActivity extends Activity implements
OnItemClickListener {
***********************************************************************************
This is the code i am trying to use
//String array data to display for row data message1
String[] myStringData=getResources().getStringArray(R.array.main_page_list_string);
This is the code that i am trying to replace
********************************************************************************
// public static final String[] message1 = new String[] { "Strawberry",
// "Banana", "Orange", "Mixed" };
******************************************************************************
//String array data to display for row data message2
public static final String[] descriptions = new String[] {
"It is an aggregate accessory fruit",
"It is the largest herbaceous flowering plant", "Citrus Fruit",
"Mixed Fruits" };
//icons used in list item rows
public static final Integer[] images = { R.drawable.ic_launcher,
R.drawable.songs_gray, R.drawable.videos_gray, R.drawable.photos_gray };
ListView listView;
List<RowItem> rowItems;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_mainlist);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < message1.length; i++) {
RowItem item = new RowItem(images[i], message1[i], descriptions[i]);
rowItems.add(item);
}
listView = (ListView) findViewById(R.id.MainPageListView);
CustomBaseAdapter adapter = new CustomBaseAdapter(this, rowItems);
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast toast = Toast.makeText(getApplicationContext(),
"Item " + (position + 1) + ": " + rowItems.get(position),
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
}
这是LogCat的错误
07-22 08:41:12.659:E/AndroidRuntime(13799):致命异常:main 07-22 08:41:12.659:E/AndroidRuntime(13799):java。lang.RuntimeException:无法实例化活动组件信息{com.rogersteve.安卓.elecinstro/com.rogersteve.安卓.elecinstro.ImageTextListBaseAdapterActivity}:java。lang.NullPointerException 07-22 08:41:12.659:E/AndroidRuntime(13799):在安卓上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:1573)
我看不到任何行号
共 (0) 个答案