Java 在ListView中选择item,然后使用toast单击时显示一条自定义消息(针对每个项目)

Java 在ListView中选择item,然后使用toast单击时显示一条自定义消息(针对每个项目),java,android,xml,Java,Android,Xml,基本上,我所做的是通过listview向用户提供术语列表。术语在strings.xml中定义为字符串: <item name="Bahrain testing">Bahrain</item> <item name="Bangladesh testing">Bangladesh</item> <item name="Barbados testing">Barbados</item> <item name="Belarus

基本上,我所做的是通过listview向用户提供术语列表。术语在strings.xml中定义为字符串:

<item name="Bahrain testing">Bahrain</item>
<item name="Bangladesh testing">Bangladesh</item>
<item name="Barbados testing">Barbados</item>
<item name="Belarus testing">Belarus</item>
<item name="Belgium testing">Belgium</item>
<item name="Belize testing">Belize</item>
<item name="Benin testing">Benin</item>
巴林
孟加拉国
巴巴多斯
白俄罗斯
比利时
伯利兹
贝宁
我在myActivity.java中处理ListView:

@Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.seoguide);

      String[] countries = getResources().getStringArray(R.array.seoterm_array);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.seoguide, countries));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

      lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.seoguide);
String[]countries=getResources().getStringArray(R.array.seoterm_数组);
setListAdapter(新的ArrayAdapter(this,R.layout.seoguide,countries));
ListView lv=getListView();
lv.setTextFilterEnabled(真);
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText(),
吐司。长度(短)。show();
这就是我的底线,我尝试通过获取属性来通过item name定义它,但这似乎不起作用

我怀疑问题可能来自seoguide.xml中没有定义clickable

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="22sp" >
</TextView>

但我还没有看到其他教程的XML中定义了clickable

我希望发生的是,当一个用户选择巴林时,Toast会弹出一条消息,上面写着“Baharain是波斯湾西岸附近的一个小岛屿国家。”

提前感谢您的帮助

编辑 将myview.xml更改为seoguide.xml-这反映了相同的信息

使用此。。
    Use this..

    lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
              // When clicked, show a toast with the TextView text
String str_item = lv.getItemAtPosition(position).toString();
              Toast.makeText(getApplicationContext(), str_item,
                  Toast.LENGTH_SHORT).show();
       }
    }
lv.setOnItemClickListener(新的OnItemClickListener(){ public void onItemClick(AdapterView父级、视图、, 内部位置,长id){ //单击后,显示带有文本视图文本的祝酒词 String str_item=lv.getItemAtPosition(position.toString(); Toast.makeText(getApplicationContext(),str_项, 吐司。长度(短)。show(); } }
使用此。。
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
String str_item=lv.getItemAtPosition(position.toString();
Toast.makeText(getApplicationContext(),str_项,
吐司。长度(短)。show();
}
}

您只需将.toString()放入

lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText().toString(),Toast.LENGTH\u SHORT.show();

希望这能起作用

您只需将.toString()放入

lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText().toString(),Toast.LENGTH\u SHORT.show();
希望这能奏效

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
      // When clicked, show a toast with the TextView text
      Toast.makeText(getApplicationContext(), ((TextView) view).getText().toString(),Toast.LENGTH_SHORT).show();