0

現在、チェックボックスの名前をあるアクティビティから別のアクティビティに渡すのに苦労しています。実際には、名前はチェック後にデータベース テーブルに挿入され、前述のアクティビティに渡されます。誰でもそれを行う考えがありますか? 提供されたヘルプは大歓迎です。

参考までに、私のプロジェクトのコード。

  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();        
    }

}

繰り返しますが、誰からの助けも大歓迎です。どうもありがとう!

4

2 に答える 2

0

これはあなたを助けるかもしれません

oneActivityから名前の値を渡すには

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

与えられた値を取得するには

Intent igetlist = getIntent();
String singleid = igetlist.getExtras().getString("name");
于 2012-09-11T09:21:50.840 に答える
0

パラメータを別のアクティビティに渡したい場合は、このコードを使用します。

Intent n = new Intent(actA.this , actB.class);
n.putExtra("name", NameValue);
startActivity(n);
于 2012-09-11T09:01:36.407 に答える