我正在使用以下代码。虽然代码工作正常。我想从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();
}``
});
}
}
答案 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。