передача ценностей между видами деятельности

1

Привет всем, у меня есть следующий код, который восстанавливает некоторые данные с сервера, и когда я нажимаю на любой элемент, он показывает мне идентификатор, который извлекается с сервера. Вместо того, чтобы показывать в тосте, я хочу перейти к другому действию. вот оригинальный код

public class Test extends ListActivity  {
      Prefs myprefs = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listplaceholder);
        this.myprefs = new Prefs(getApplicationContext());
        // install handler for processing gui update messages
        ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
       JSONObject json = JSONfunctions.getJSONfromURL("http://midsweden.gofreeserve.com/proj/androidjson.php?identifier=" + 
        Test.this.myprefs.getPersonalno());

        try{

            JSONArray  earthquakes = json.getJSONArray("services");

            for(int i=0;i<earthquakes.length();i++){                        
                HashMap<String, String> map = new HashMap<String, String>();    
                JSONObject e = earthquakes.getJSONObject(i);

                map.put("id",  String.valueOf(i));
                map.put("pic", "Service name : " + e.getString("employeepic"));
                map.put("serviceinfo", "" +  e.getString("employeename")+ " : "+ e.getString("starttime")
                        +" To " +  e.getString("endtime"));
                mylist.add(map);            
            }       
        }catch(JSONException e)        {
             Log.e("log_tag", "Error parsing data "+e.toString());
        }

        ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.test, 
                        new String[] { "servicename", "serviceinfo" }, 
                        new int[] { R.id.item_title, R.id.item_subtitle });

        setListAdapter(adapter);

        final ListView lv = getListView();
        lv.setTextFilterEnabled(true);  
        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
                @SuppressWarnings("unchecked")
                HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);                   
                Toast.makeText(Test.this, "ID '" + o.get("id") + "' was clicked.", Toast.LENGTH_SHORT).show(); 

            }
        });

    }

Я пытаюсь настроить этот код, но каждый раз, когда "Force to Close"

Intent intent = new Intent(Test.this, passing.class);
intent.putExtra("Employename", employeename);
startActivity(intent);

для id его сделано следующим образом. но теперь, как можно заменить его на useename

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
            @SuppressWarnings("unchecked")
                HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);                   
            Intent intent = new Intent(Test.this, passing.class);
            intent.putExtra("id", id);
            startActivity(intent); 

            }
        });

}
  • 1
    не могли бы вы опубликовать logcat ... потому что это должно делать, когда вы пытаетесь сделать ..
Теги:

1 ответ

2
Лучший ответ

hi umar У меня есть несколько вопросов к вам... Вы пробовали вставлять новую часть нового действия в то место, где вы указали тост. если это так и после вставки, что диалог закрытия силы приходит.. Пожалуйста, проверьте, есть ли у вас класс с передачей имени, а также определено действие в манифесте... если вы все еще получаете силу и просто запустите свой логарифм, который поможет нам решить вашу проблему..

  • 0
    для идентификатора это сделано сейчас, я только хочу, чтобы вместо названия идентификатора занято Employeame, пожалуйста, сообщите мне об этом
  • 0
    Вы получили значение в тосте из этого заявления. `Toast.makeText (Test.this," ID "" + o.get ("id") + "" был нажат. ", Toast.LENGTH_SHORT) .show ();`

Ещё вопросы

Сообщество Overcoder
Наверх
Меню