如何从android中的string.xml文件中获取字符串资源

时间:2014-10-30 17:01:58

标签: java android xml

我正在使用以下代码。虽然代码工作正常。我想从string.xml文件中获取字符串而不在Java代码中初始化字符串?我不知道该怎么做。另外我想做以下事项:在特定列表项上单击它会启动一个新活动吗?

package com.example.listviewexample;
import java.util.Arrays;
import java.util.List;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends ListActivity {

    final List<String> elements = Arrays.asList("Element 1", "Element 2", "Element 3",
            "Element 4", "Element 5");

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        ListView listView = getListView();
        listView.setTextFilterEnabled(true);    
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.activity_main,elements);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                Toast.makeText(getApplicationContext(),
                        ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }``
        });
    }
}

2 个答案:

答案 0 :(得分:1)

将数组定义到arrays.xml

<?xml version="1.0" encoding="utf-8"?>  
    <resources>  
     <array name="myArray">  
    <item>Element 1</item>  
    <item>Element 2</item>  
    <item>Element 3</item>  
    <item>Element 4</item>  
    <item>Element 5</item>  
     </array>
</resources>

加载元素:

String[] elements = getResources().getStringArray(R.array.myArray);  
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.activity_main,elements);

答案 1 :(得分:0)

正如Jorgesys所说,你应该在你的values/arrays.xml

中声明它

如果您需要为此字符串添加不同的翻译,则应在其各自的arrays.xml文件夹中创建此values

有关此问题的详情,请参阅Android Localization link