简体   繁体   中英

How to add data in spinner from listview in Android?

I create 2 Activity A and B .I have listview which is populate the data in List view from SQLite database in Activity 'A' and Spinner in Activity 'B'. I want add the data from listview into spinner in Activity 'B'.How can i do this.Please give me any lick .Thanks in Advanced.

    public class DefineProducts_Activity6 extends Activity {

    private com.db_mgmt.DbHelper mHelper;
    private SQLiteDatabase dataBase;

    private ArrayList<String> products_Id_ArrayList = new ArrayList<String>();
    private ArrayList<String> products_Name_ArrayList = new ArrayList<String>();
    private ArrayList<String> products_Details_ArrayList = new ArrayList<String>();

    private ListView products_List;
    private AlertDialog.Builder build;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.define_products_listview);

        products_List = (ListView) findViewById(R.id.products_List);
        mHelper = new DbHelper(this);


        //add new record
        findViewById(R.id.btnAdd_DefineProduct).setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Intent i = new Intent(getApplicationContext(),
                        Add_Define_Product.class);

                i.putExtra("update", false);
                startActivity(i);

            }
        });


    @Override
    protected void onResume() {
        displayData();
        super.onResume();
    }



    /**
     * displays data from SQLite
     */
    private void displayData() {
        dataBase = mHelper.getWritableDatabase();
        Cursor mCursor = dataBase.rawQuery("SELECT * FROM "
                + DbHelper.TABLE_DEFINE_PRODUCT_NAME, null);

        products_Id_ArrayList.clear();
        products_Name_ArrayList.clear();
        products_Details_ArrayList.clear();

        if (mCursor.moveToFirst()) 
        {
            do 
            {
                products_Id_ArrayList.add(mCursor.getString(mCursor.getColumnIndex(DbHelper.KEY_ID)));
                products_Name_ArrayList.add(mCursor.getString(mCursor.getColumnIndex(DbHelper.KEY_PRODUCTS_NAME)));
                products_Details_ArrayList.add(mCursor.getString(mCursor.getColumnIndex(DbHelper.KEY_PRODUCTS_DETAILS)));

            } while (mCursor.moveToNext());
        }
        Product_List_Adapter disadpt = new Product_List_Adapter(DefineProducts_Activity6.this,products_Id_ArrayList, products_Name_ArrayList, products_Details_ArrayList);
        products_List.setAdapter(disadpt);
        mCursor.close();
    }



}

通过putextra将arraylist发送到第二个活动,并在第二个活动中创建另一个arrayadapter并设置spinner.setApdater(yourAdapter)

This code is sample for how to set data for spinner....by passing list to adapter to set spinner data.

Now you have to made manipulation according to your requirement. As i understand you have to set spinner in other activity “B”, so you have to pass lists to activity “B” from activity “A” (via Intent, making lists as statis or any other way), and then pass to adapter that set the data for spinner. Like you did on below line....

Product_List_Adapter disadpt = new
Product_List_Adapter(DefineProducts_Activity6.this,products_Id_ArrayList,    products_Name_ArrayList, products_Details_ArrayList);

Hope you understand what i am trying to say......if any problem occurs..then revert back....

import java.util.ArrayList;
import com.example.dip.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MyAdapter extends ArrayAdapter<String> {

ArrayList list, list1;

// Constructor for getting details from calling method/class
public MyAdapter(Context context, int textViewResourceId, ArrayList list3, ArrayList list4) {

    super(context, textViewResourceId, list3);
    list = list3;
    list1 = list4;
}

public View getDropDownView(int position, View convertView,ViewGroup parent) {
    return getCustomView(position, convertView, parent);
}

public View getView(int position, View convertView, ViewGroup parent) {
    return getCustomView(position, convertView, parent);
}

public View getCustomView(int position, View convertView, ViewGroup parent) { 

    // Setting the layout
    LayoutInflater inflater=(LayoutInflater)   getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row=inflater.inflate(R.layout.networkrow, parent, false);

    TextView network=(TextView)row.findViewById(R.id.net); 
    TextView id=(TextView)row.findViewById(R.id.pid);  // Setting id of network

    network.setText((CharSequence) list1.get(position));
    id.setText((CharSequence) list.get(position));  // Setting name of network

    return row;
}

}

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