If you are using a list view, then try onItemClickListener. Kumar Bibek http://techdroid.kbeanie.com http://www.kbeanie.com
On Wed, Dec 22, 2010 at 4:23 PM, pramod.deore <[email protected]>wrote: > Hey Bibek Thanks. > > Try this. On a specific event, set the result and just call finish. That > > should do. > > But on what event I call finish? Because here I am just selecting > items from list. And how should I know that user had finished there > selection? > > On Dec 22, 3:47 pm, Kumar Bibek <[email protected]> wrote: > > YEah, > > > > Why are you calling finish from onPause method? It will finish you > > application, even when you would not want it to. > > > > Try this. On a specific event, set the result and just call finish. That > > should do. > > > > Kumar Bibekhttp://techdroid.kbeanie.comhttp://www.kbeanie.com > > > > On Wed, Dec 22, 2010 at 4:14 PM, pramod.deore <[email protected] > >wrote: > > > > > Hi I have one activity which invoked another activity > > > > > roomIntent.putExtra("roomName",roomNM ); > > > roomIntent.setClass(AddScheduler.this,RoomList.class); > > > startActivityForResult(roomIntent,Room_SELECT); > > > > > protected void start(Intent intent) > > > { > > > this.startActivityForResult(intent,Room_SELECT); > > > } > > > > > protected void onActivityResult(int requestCode, int resultCode, > > > Intent data) > > > { > > > System.out.println (requestCode); > > > > > switch(requestCode) > > > { > > > case Room_SELECT: > > > > > System.out.println (resultCode); //here > it > > > returns 0 > > > if (resultCode == RESULT_OK) > > > { > > > ........... > > > //Because result code returns 0 therefore this if conditio does not > > > execute. > > > } > > > } > > > > > } > > > > > And here is my other activity which returns result. > > > > > public class RoomList extends ListActivity > > > { > > > super.onCreate(savedInstanceState); > > > Bundle extras = getIntent().getExtras(); > > > if(extras !=null) > > > { > > > value = extras.getString("roomName"); > > > sw = getSwitchNameArray(value); > > > } > > > setListAdapter(new ArrayAdapter<String>(this, > > > android.R.layout.simple_list_item_multiple_choice, > > > sw)); > > > final ListView listView = getListView(); > > > listView.setItemsCanFocus(true); > > > listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); > > > > > listView.setOnItemClickListener(new ListView.OnItemClickListener() { > > > > > @Override > > > public void onItemClick(AdapterView<?> arg0, > View > > > arg1, int arg2, > > > long arg3) > > > { > > > // TODO Auto-generated method stub > > > System.out.println ("User checked > boxes"); > > > > > if (listView.isItemChecked(arg2)) > > > { > > > System.out.println > > > ("###"+listView.getItemAtPosition(arg2)); > > > room = (String) > > > listView.getItemAtPosition(arg2); > > > selectedRooms.add(room); > > > System.out.println ("Size > > > is"+selectedRooms.size()); > > > > > } > > > > > else > > > { > > > String str = (String) > > > listView.getItemAtPosition(arg2); > > > selectedRooms.remove(str); > > > System.out.println ("Size > > > is"+selectedRooms.size()); > > > } > > > } > > > > > }); > > > > > @Override > > > protected void onPause() > > > { > > > super.onPause(); > > > > > System.out.println ("User click on back button"); > > > > > mySwitches = new String[selectedRooms.size()]; > > > selectedRooms.toArray(mySwitches); > > > int str = mySwitches.length; > > > System.out.println ("!...@#!@#...@#"+str); > > > Intent returnIntent = new Intent(); > > > //returnIntent.putExtra("SelectedSwitches",selectedRooms); > > > returnIntent.putExtra("SelectedSwitches", str); > > > setResult(RESULT_OK,returnIntent); > > > System.out.println ("Before calling finish"); > > > finish(); > > > System.out.println ("After calling finish"); > > > } > > > > > public String[] getSwitchNameArray(String rn) > > > { > > > ......returns string array > > > } > > > > > I think in resultCode I get 0 because I write > > > setResult(RESULT_OK,returnIntent); inside onPause () method. Or there > > > is another problem? I had write that inside onPause bacause in this > > > activity I am calculating name of selected items. And I never knows > > > when user had finished selecting items. After writing code inside > > > onPause I know what item user had selected from list and I can pass > > > them to the calling activity. > > > > > I think better approach is to add one button means suppose user click > > > on save button then selected item will be sent to the calling > > > activity. Want your opinion? where should write code. If it doesn't > > > affect write inside onPause() then why I got 0 from resultCode. > > > > > -- > > > You received this message because you are subscribed to the Google > > > Groups "Android Developers" group. > > > To post to this group, send email to > [email protected] > > > To unsubscribe from this group, send email to > > > [email protected]<android-developers%[email protected]> > <android-developers%[email protected]<android-developers%[email protected]> > > > > > For more options, visit this group at > > >http://groups.google.com/group/android-developers?hl=en > > > > > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<android-developers%[email protected]> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

