简体   繁体   中英

How to pass the name checked from checkbox to another activity

I am currently having a difficulty in passing the name from the checkbox from one activity to another activity. Actually the name should be inserted into my database table after it is checked and then it will be passed to the activity mentioned earlier. Anyone have any idea on doing it? Any help provided will be greatly appreciated.

For reference, the codes for my project.

  BuddyDBAdapter buddyDB = new BuddyDBAdapter(this);

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_list);

        ListView list = (ListView) findViewById(android.R.id.list);
        //ListView list = getListView();
        list.setOnItemClickListener(new OnItemClickListener()
        {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id)
            {

               Cursor cursor = null;

               cursor = (Cursor) parent.getItemAtPosition(position);
               Intent intent = new Intent(ContactsList.this, Create_Events.class);
               intent.putExtra("name", cursor.getString(cursor.getColumnIndex(buddyDB.KEY_NAME)));
               startActivity(intent);

            }

        });

        Uri allContacts = Uri.parse("content://contacts/people");

        Cursor c = managedQuery(allContacts, null, null, null, null);

        String[] columns = new String[] {ContactsContract.Contacts.DISPLAY_NAME};
        int[] views = new int[]  {R.id.contactCheckbox};

        startManagingCursor(c);

        SimpleCursorAdapter friendsAdapter = new SimpleCursorAdapter(this, R.layout.contacts_list, c, columns, views);
        this.setListAdapter(friendsAdapter);



    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id)
    {
        buddyDB.open();
        //long name_id;
        super.onListItemClick(l, v, position, id);

        Cursor c = ((SimpleCursorAdapter)l.getAdapter()).getCursor();
        c.moveToPosition(position);

        /*TextView contactName = (TextView) v.findViewById(R.id.contactName);
        String NameValue = contactName.getText().toString();

        name_id = buddyDB.insertNames(NameValue);


        Toast.makeText(getBaseContext(),
                "Selected: " + buddiesList[position], Toast.LENGTH_SHORT).show();       
        buddyDB.close();*/


            nameCheck = (CheckBox) v.findViewById(R.id.contactCheckbox);
            nameCheck.setOnCheckedChangeListener(new OnCheckedChangeListener()
                {               
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView,
                            boolean isChecked)
                    {
                        long name_id;
                        String NameValue = nameCheck.getText().toString();
                        name_id = buddyDB.insertNames(NameValue);
                        /*if(isChecked)
                        {
                            nameCheck = 1;
                        }else
                        {
                            nameCheck = 0;
                        }*/                 
                    }                   
                });     
            buddyDB.close();        
    }

}

Again, any help from anyone will be greatly appreciated. Thanks a lot!

use this code where you want to pass parameter to another activity.

Intent n = new Intent(actA.this , actB.class);
n.putExtra("name", NameValue);
startActivity(n);

this may helps you

To pass the name values from oneActivity

Intent n = new Intent(actA.this , actB.class);
n.putExtra("name", NameValue);
startActivity(n);

To get the given values

Intent igetlist = getIntent();
String singleid = igetlist.getExtras().getString("name");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM