Reputation: 765
This may be simple but 'm getting error so help me. I have list view and in each row i have button, when i click on button, it should take the title of that particular row and insert it into the database. When i click on the button it actually giving me the title, but i have problem with inserting that title to database.In the LazyAdapter class i have the below code
Button play = (Button)vi.findViewById(R.id.imageArrow);
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("play clicked!");
String pgm_title = title.getText().toString();
System.out.println("item selected: "+ pgm_title);
CustomizedListView cust = new CustomizedListView();
cust.InsertPlayItem(pgm_title);
}
});
And in the Main Activity i have this code. what is problem with this code?
public void InsertPlayItem(String pgm_title) {
// TODO Auto-generated method stub
DatabaseHandler db = new DatabaseHandler(getBaseContext());//getting error here
db.insertPlayList(pgm_title);
}
getting below error:
12-26 16:03:00.751: W/dalvikvm(5861): threadid=1: thread exiting with uncaught exception (group=0x40015560)
12-26 16:03:00.772: E/AndroidRuntime(5861): FATAL EXCEPTION: main
12-26 16:03:00.772: E/AndroidRuntime(5861): java.lang.NullPointerException
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
12-26 16:03:00.772: E/AndroidRuntime(5861): at com.example.devices.DatabaseHandler.insertPlayList(DatabaseHandler.java:422)
12-26 16:03:00.772: E/AndroidRuntime(5861): at com.example.programs.CustomizedListView.InsertPlayItem(CustomizedListView.java:137)
12-26 16:03:00.772: E/AndroidRuntime(5861): at com.example.programs.LazyAdapter$1.onClick(LazyAdapter.java:131)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.view.View.performClick(View.java:2485)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.view.View$PerformClick.run(View.java:9080)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.os.Handler.handleCallback(Handler.java:587)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.os.Handler.dispatchMessage(Handler.java:92)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.os.Looper.loop(Looper.java:123)
12-26 16:03:00.772: E/AndroidRuntime(5861): at android.app.ActivityThread.main(ActivityThread.java:3683)
12-26 16:03:00.772: E/AndroidRuntime(5861): at java.lang.reflect.Method.invokeNative(Native Method)
12-26 16:03:00.772: E/AndroidRuntime(5861): at java.lang.reflect.Method.invoke(Method.java:507)
12-26 16:03:00.772: E/AndroidRuntime(5861): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-26 16:03:00.772: E/AndroidRuntime(5861): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-26 16:03:00.772: E/AndroidRuntime(5861): at dalvik.system.NativeStart.main(Native Method)
And my Database part:
public void insertPlayList(String playname) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(play_list, playname);
// Inserting Row
db.insert(Personalize, null, values);
db.close(); // Closing database connection
}
Upvotes: 0
Views: 98
Reputation: 765
Finally i got .. In the LazyAdapter class only i did like this.
Button play = (Button)vi.findViewById(R.id.imageArrow);
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("play clicked!");
String pgm_title = title.getText().toString();
System.out.println("item selected: "+ pgm_title);
DatabaseHandler db = new DatabaseHandler(activity);
db.insertPlayList(pgm_title);
}
}
Upvotes: 1