mardi 27 octobre 2015

Android DataBase values to TextView

I've filled a listview from a database table and it launches a new activity on click and already gets the ID from the database.

How would I populate these Textviews I have on this launched activity with the data from the Database.

Example: If I clicked the list it gives me for example the id of 4. Put all data to Textviews that belong to the row with the id of 4. How would I do this?

NOTE: No errors or whatever are thrown.

fragmentronde1.java

public class FragmentRonde1 extends android.support.v4.app.Fragment {

public ListView lv1;
public TextView tv1, tv2;
MyDbHandler db;
SimpleCursorAdapter dataAdapter;

public FragmentRonde1() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    final View rootview = inflater.inflate(R.layout.fragment_ronde1, container, false);
    ((MainActivity) getActivity()).setTitle("Workshops Ronde 1");

    db = new MyDbHandler(getActivity());

    final Cursor cursor=db.FilterData1();
    String from [] = new String[]{db.COLUMN_TITLE};
    int to [] = new int[] {R.id.workshopTitle1};
    dataAdapter = new SimpleCursorAdapter(getActivity(),R.layout.row_layout_workshop, cursor, from, to, 0);

    lv1 = (ListView)rootview.findViewById(R.id.Ronde1lv);
    lv1.setAdapter(dataAdapter);

    lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent listClicked = new Intent(getActivity(), ListClicked.class);
            startActivity(listClicked);

            //parsing LONG to INT
            int ID = (int) id;

            //LOG THE ID GIVEN FROM LISTVIEW
            Log.d("TAG", String.valueOf(ID));

            //PASSES THE ID GIVEN SO THE QUERY GETS ONE RESULT WHERE THE ID IS SAME AS _id
            final Cursor cursor2 = db.getIdOfSelectedItem(ID);

            //THE PART THAT DOESNT WORK
            // HERE I WANT TO PUT TITLE AND THE DESCRIPTION TO THE TEXTVIEWS
            String from2[] = new String[]{db.COLUMN_TITLE, db.COLUMN_BESCHRIJVING};
            int to2[] = new int[]{R.id.listClickedTitle, R.id.listClickedDescription};

            dataAdapter = new SimpleCursorAdapter(getActivity(), R.layout.content_list_clicked, cursor2, from2, to2, ID);
            //THIS NEEDS TO BE CHANGED ^
        }
    });

    return rootview;
    }
}

MyDbHandler.java

public class MyDbHandler extends SQLiteOpenHelper {

private static int DATABASE_VERSION = 5;
private static String DATABASE_NAME = "workshopDB";
private static String TABLE_WORKSHOPS = "workshops";

public static String COLUMN_ID = "_id";
public static String COLUMN_TITLE= "title";
public static String COLUMN_BESCHRIJVING = "beschrijving";
public static String COLUMN_MGT = "mgt";
public static String COLUMN_DOC = "doc";
public static String COLUMN_OOP = "oop";
public static String COLUMN_BEGELEIDER = "begeleider";
public static String COLUMN_DEELNEMERS = "deelnemers";
public static String COLUMN_RONDE1 = "ronde1";
public static String COLUMN_RONDE2 = "ronde2";
public static String COLUMN_RONDE3 = "ronde3";
public static String COLUMN_LOKAAL1 = "lokaal1";
public static String COLUMN_LOKAAL2 = "lokaal2";
public static String COLUMN_LOKAAL3 = "lokaal3";
public static String COLUMN_FAV = "fav";

public MyDbHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}


@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE IF NOT EXISTS workshops(_id INT, title VARCHAR, beschrijving VARCHAR, mgt VARCHAR, doc VARCHAR, oop VARCHAR, begeleider VARCHAR, deelnemers VARCHAR, ronde1 INT, ronde2 INT, ronde3 INT, lokaal1 VARCHAR, lokaal2 VARCHAR, lokaal3 VARCHAR);");

    //Insert values into DB
    db.execSQL("INSERT INTO workshops VALUES(0, 'Leer je deelnemers ontspannen presenteren', 'Op school wordt veel gepresenteerd. Helaas zijn angstige of onrustige sprekers geen uitzondering. Wat kan je als docent/instructeur doen om de deelnemer van waardevolle maar oordeelloze feedback te voorzien, zodat hij/zij leert ontspannen te presenteren? Tijdens deze workshop onderzoeken we wat een ‘goede’ presentatie is en krijg je ideeën en technieken aangereikt om jouw deelnemers te begeleiden bij presentaties.', 'management', 'docent','ondersteunend', 'Kim Effern', '20', 0, 1, 1, '0', 'B2.08', 'B2.08');");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE workshops;");
    db.execSQL("CREATE TABLE IF NOT EXISTS workshops(_id INT, title VARCHAR, beschrijving VARCHAR, mgt VARCHAR, doc VARCHAR, oop VARCHAR, begeleider VARCHAR, deelnemers VARCHAR, ronde1 INT, ronde2 INT, ronde3 INT, lokaal1 VARCHAR, lokaal2 VARCHAR, lokaal3 VARCHAR);");

    db.execSQL("INSERT INTO workshops VALUES(0, 'Leer je deelnemers ontspannen presenteren', 'Op school wordt veel gepresenteerd. Helaas zijn angstige of onrustige sprekers geen uitzondering. Wat kan je als docent/instructeur doen om de deelnemer van waardevolle maar oordeelloze feedback te voorzien, zodat hij/zij leert ontspannen te presenteren? Tijdens deze workshop onderzoeken we wat een ‘goede’ presentatie is en krijg je ideeën en technieken aangereikt om jouw deelnemers te begeleiden bij presentaties.', 'management', 'docent','ondersteunend', 'Kim Effern', '20', 1, 1, 1, '0', 'B2.08', 'B2.08');");
    db.execSQL("INSERT INTO workshops VALUES(4, 'Placeholder', 'Op school wordt veel gepresenteerd. Helaas zijn angstige of onrustige sprekers geen uitzondering. Wat kan je als docent/instructeur doen om de deelnemer van waardevolle maar oordeelloze feedback te voorzien, zodat hij/zij leert ontspannen te presenteren? Tijdens deze workshop onderzoeken we wat een ‘goede’ presentatie is en krijg je ideeën en technieken aangereikt om jouw deelnemers te begeleiden bij presentaties.', 'management', 'docent','ondersteunend', 'Kim Effern', '20', 1, 1, 1, '0', 'B2.08', 'B2.08');");

}


public void InsertValues()
{
    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL("INSERT INTO workshops VALUES(0, 'Leer je deelnemers ontspannen presenteren', 'Op school wordt veel gepresenteerd. Helaas zijn angstige of onrustige sprekers geen uitzondering. Wat kan je als docent/instructeur doen om de deelnemer van waardevolle maar oordeelloze feedback te voorzien, zodat hij/zij leert ontspannen te presenteren? Tijdens deze workshop onderzoeken we wat een ‘goede’ presentatie is en krijg je ideeën en technieken aangereikt om jouw deelnemers te begeleiden bij presentaties.', 1, 1, 1, 'Kim Effern', '20', 0, 1, 1, '0', 'B2.08', 'B2.08');");


    db.close();
}

public Cursor FilterData1()
{
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery("SELECT * FROM workshops WHERE ronde1 = 1;", null);
    return c;
}

public Cursor getIdOfSelectedItem(long test)
{
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery("SELECT * FROM workshops WHERE _id = " + test + ";", null);
    return c;
}
}

content_list_clicked.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://ift.tt/nIICcg"
xmlns:tools="http://ift.tt/LrGmb4"
xmlns:app="http://ift.tt/GEGVYd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_list_clicked"
tools:context="justin.drawer.ListClicked">

<TextView
    android:id="@+id/listClickedTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="hoi"/>

<TextView
    android:id="@+id/listClickedDescription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="hoi"
    android:layout_below="@+id/listClickedTitle"/>

</RelativeLayout>

Please help! Thanks :)

Aucun commentaire:

Enregistrer un commentaire