吐司不是从列表中选择的项目生成文本吐司、是从、文本、项目

由网友(任性的划着伤口)分享简介:我做的机器人与列表查看一个简单的应用程序,在此我想打的时候选择一个项目,我已经试过如下,但它不工作敬酒。我的code是如下:main.java 包com.example.listview;进口的java.util.ArrayList;进口的java.util.HashMap;进口的java.util.List;进...

我做的机器人与列表查看一个简单的应用程序,在此我想打的时候选择一个项目,我已经试过如下,但它不工作敬酒。

我的code是如下:

main.java

 包com.example.listview;

进口的java.util.ArrayList;
进口的java.util.HashMap;
进口的java.util.List;

进口android.os.Bundle;
进口android.app.Activity;
进口android.app.ListActivity;
进口android.view.Menu;
进口android.view.MenuItem;
进口android.view.View;
进口android.widget.AdapterView;
进口android.widget.AdapterView.OnItemClickListener;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;
进口android.widget.SimpleAdapter;
进口android.widget.Toast;
进口android.support.v4.app.NavUtils;

公共类ListViewActivity延伸活动{


    字符串项目[] = {汽车,鸟,自行车,花};
    字符串类[] = {体育,鸟,体育,自然};
    INT图标[] = {R.drawable.car,R.drawable.bird,R.drawable.bike,R.drawable.flower};

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_list_view);
        名单< HashMap的<字符串,字符串>> ALIST =新的ArrayList< HashMap的<字符串,字符串>>();
        的for(int i = 0;我4;;我++)
        {
            HashMap的<字符串,字符串> HM =新的HashMap<字符串,字符串>();
            hm.put(TXT,项目:+项目[I]);
            hm.put(类,类别+类别[I]);
            hm.put(图标,Integer.toString(图标[i]));
            aList.add(HM);
        }
        的String []从= {图标,TXT,类别};
        INT []到= {R.id.image,R.id.text,R.id.category};
        SimpleAdapter适配器=新SimpleAdapter(getBaseContext(),ALIST,R.layout.list,从,到);
        最终的ListView LV =(ListView控件)findViewById(R.id.listView);
        lv.setAdapter(适配器);
        lv.setOnItemClickListener(新OnItemClickListener(){

            公共无效onItemClick(适配器视图<>为arg0,查看ARG1,INT位置,
                    长ARG3){
                // TODO自动生成方法存根
                串了selectedValue =(字符串)(lv.getItemAtPosition(位置));
                Toast.makeText(getApplicationContext(),selectedValue,则Toast.LENGTH_LONG).show();
            }
    });
    }


}
 

请帮me..thanx提前

解决方案

 的HashMap<字符串,字符串>了selectedValue =(HashMap的<字符串,字符串>)(lv.getItemAtPosition(位置));
ArrayList的<字符串>名单=新的ArrayList<字符串>(selectedValue.keySet());
Toast.makeText(getApplicationContext(),selectedValue.get(TXT),Toast.LENGTH_LONG).show();
 

这HashMap具有了按键,present在列表。这份名单实际上是数组,你给。只要给相应的按键显示相应的文字。

其工作。 :)

如何让vs2017生成的exe带有重定位表

I've made a simple app in android with list View,In that i want to make a toast when select an item,i have tried as below but its not working..

my code is as below:

main.java

    package com.example.listview;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.support.v4.app.NavUtils;

public class ListViewActivity extends Activity {


    String items[]={"Car","Bird","Bike","Flower"};
    String category[]={"Sports","Birds","Sports","Nature"};
    int icons[]={R.drawable.car,R.drawable.bird,R.drawable.bike,R.drawable.flower};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);
        List <HashMap<String,String>> aList=new ArrayList<HashMap<String,String>>();
        for(int i=0;i<4;i++)
        {
            HashMap<String,String> hm=new HashMap<String, String>();
            hm.put("txt","Item : "+items[i]);
            hm.put("category","Category : "+category[i]);
            hm.put("icon",Integer.toString(icons[i]));
            aList.add(hm);
        }
        String []from={"icon","txt","category"};
        int []to={R.id.image,R.id.text,R.id.category};
        SimpleAdapter adapter=new SimpleAdapter(getBaseContext(),aList,R.layout.list,from,to);
        final ListView lv=(ListView)findViewById(R.id.listView);
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                    long arg3) {
                // TODO Auto-generated method stub
                String selectedValue =(String) (lv.getItemAtPosition(position));
                Toast.makeText(getApplicationContext(),selectedValue , Toast.LENGTH_LONG).show();
            }
    });
    }


}

please help me..thanx in advance

解决方案

HashMap<String, String> selectedValue = (HashMap<String, String>) (lv.getItemAtPosition(position));         
ArrayList<String> list = new ArrayList<String>(selectedValue.keySet());             
Toast.makeText(getApplicationContext(), selectedValue.get("txt"), Toast.LENGTH_LONG).show();

That hashmap has got keys which are present in that list. That list is actually the from array which you have given. Just give the corresponding key to display the corresponding text.

Its working. :)

阅读全文

相关推荐

最新文章