@pmozil

База данных создаваемая на первом Activity и поместить в ListView на втором Activity?

Есть первое активити,на котором заполняется база данных.
На втором активити ее нужно отобразить в ListView.
Что я не так делаю ?
Что здесь лишнее или чего не хватает?
Что прописать во втором классе чтобы отобразить базу данных во втором Activity?
Какой объект надо передать?Ничего не получается.Всю голову сломал.
Заранее спасибо.

public class Zrob extends Activity implements View.OnClickListener {
    private static final String TAG = "myLogs";
    public Button btnOk;
    public EditText tvSum;
    public Spinner spinner;
    DBHelper dbHelper;
    SimpleCursorAdapter cAdapter;
    ListView mList;



    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.zrob);

        dbHelper = new DBHelper(getApplicationContext());

        btnOk = (Button) findViewById(R.id.btnOk);
        btnOk.setOnClickListener(this);

        mList = (ListView) findViewById(R.id.mList);
        spinner = (Spinner) findViewById(R.id.spinner);

        tvSum = (EditText) findViewById(R.id.editText);

        Log.d(TAG, "onCreate ZROB.class");

        String[] valuta = {"RU","UA","USD","EUR"};
     

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,valuta);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        ArrayAdapter<String> adapter2 = new ArrayAdapter<String>


        spinner.setAdapter(adapter);
        spinner.setPrompt("Waluta");
        spinner.setSelection(0);

 


        dbHelper = new DBHelper(this);
    }


    @Override
    public void onClick(View v) {
    //Объект для данных
        ContentValues cv = new ContentValues();
   
        String suma = tvSum.getText().toString();
        String valuta = spinner.getSelectedItem().toString();
     
//подключаюсь к базе
       SQLiteDatabase db = dbHelper.getWritableDatabase();
       // запаковал
        cv.put("suma", suma);
        cv.put("valuta", valuta);

     

        //Получил id строки
        long rowID = db.insert("mytable", null, cv);
//Получил курсор с данными
        Cursor c = db.query("mytable", null, null, null, null, null, null);
       
        if (c.moveToFirst()) {
//получаем id столбцов
            int idColIndex = c.getColumnIndex("_id");
            int sumColIndex = c.getColumnIndex("suma");
            int valColIndex = c.getColumnIndex("valuta");
         

            do {
                Log.d(TAG,
                        "id = " + c.getInt(idColIndex) +
                                ", suma = " + c.getString(sumColIndex) +
                                ", valuta = " + c.getString(valColIndex));
                           
                    String[] headers = new String[] {"suma","valuta"};
                    cAdapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item,
                             c, headers, new int[]{kontoColIndex, sumColIndex}, 0);
                     mList.setAdapter(cAdapter);

            } while (c.moveToNext());
        } else
            Log.d(TAG, "0 rows");

        c.close();


    }

    class DBHelper extends SQLiteOpenHelper {

        public DBHelper(Context context) {
            super(context, "myDB", null, 1);
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            Log.d(TAG, "--- onCreate database ---");
            db.execSQL("create table mytable ("
                    + "id integer primary key autoincrement,"
                    + "suma text,"
                    + "valuta text" +");");

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }
    }


}
  • Вопрос задан
  • 650 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы