Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6377277
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T01:51:01+00:00 2026-05-25T01:51:01+00:00

I got an error while defining onClick event in my Layout. In my code

  • 0

I got an error while defining onClick event in my Layout.
In my code I would like that upon clicking, it should save my stuff in my own database, but I allways get a “Force Close Error” and I don’t why.

I tried to find out what the problem is, if I omit the database thing then it works and goes to the other site.

Here’s the code of my Activity:

package de.retowaelchli.filterit;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.RadioGroup;

import de.retowaelchli.filterit.database.ADFilterDBAdapter;


public class ADFilterConfigActivity extends Activity {

    //Variablen deklaration
    private ADFilterDBAdapter mDbHelper;
    private String name;
    private String keyword;
    private String cache;
    private String save = "";


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.autodelete_config);
        radiobuttoncheck();

        //Hier wir die Datenbank aufgerufen
        mDbHelper = new ADFilterDBAdapter(this);
        mDbHelper.open();


        //Hier werden die EditTextfelder gesucht
        EditText edtTextName=(EditText )findViewById(R.id.ADConfigName);
        EditText edtTextKeyword=(EditText )findViewById(R.id.ADConfigKeyword);

        //Hier wird der Inhalt der EditText boxen in einen String gespeichert
        name = edtTextName.getText().toString();
        keyword = edtTextKeyword.getText().toString();
        }

        private void radiobuttoncheck() {

        //Hier wird ausgewertet welcher Button geklickt wurde
        RadioGroup rg = (RadioGroup) findViewById(R.id.adcachegroup);
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            public void onCheckedChanged(RadioGroup group, final int checkedId) {
                switch (checkedId) {
                case R.id.adcache_true:
                    save = new StringBuilder(save).append("true").toString();
                    cache = save.toString();

                    break;
                case R.id.adcache_false:
                    save = new StringBuilder(save).append("false").toString();
                    cache = save.toString();

                    break;
                        }
                }
            });
        }
        //Hier werden die Daten in die Datenbank geschreiben und es wird aufs alte register verwiesen
        public void onClickADConfigSave(){

            mDbHelper.createADFilter(name, keyword, cache);

            final Intent i = new Intent(this, ADeleteActivity.class);
            startActivity(i);

        }
 }

So here is the Code of my DataBase Adapter:

package de.retowaelchli.filterit.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class ADFilterDBAdapter {

        public static final String ROW_ID = "_id";
        public static final String NAME = "name";
        public static final String KEYWORD = "keyword";
        public static final String CACHE = "cache";

        private static final String DATABASE_TABLE = "adfilter";

        private DatabaseHelper mDbHelper;
        private SQLiteDatabase mDb;

        private final Context mCtx;

        private static class DatabaseHelper extends SQLiteOpenHelper {

            DatabaseHelper(Context context) {
                super(context, DBAdapter.DATABASE_NAME, null, DBAdapter.DATABASE_VERSION);
            }

            @Override
            public void onCreate(SQLiteDatabase db) {
            }

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

        /**
         * Constructor - takes the context to allow the database to be
         * opened/created
         * 
         * @param ctx
         *            the Context within which to work
         */
        public ADFilterDBAdapter(Context ctx) {
            this.mCtx = ctx;
        }

        /**
         * Open the cars database. If it cannot be opened, try to create a new
         * instance of the database. If it cannot be created, throw an exception to
         * signal the failure
         * 
         * @return this (self reference, allowing this to be chained in an
         *         initialization call)
         * @throws SQLException
         *             if the database could be neither opened or created
         */
        public ADFilterDBAdapter open() throws SQLException {
            this.mDbHelper = new DatabaseHelper(this.mCtx);
            this.mDb = this.mDbHelper.getWritableDatabase();
            return this;
        }

        /**
         * close return type: void
         */
        public void close() {
            this.mDbHelper.close();
        }

        /**
         * Create a new car. If the car is successfully created return the new
         * rowId for that car, otherwise return a -1 to indicate failure.
         * 
         * @param name
         * @param model
         * @param year
         * @return rowId or -1 if failed
         */
        public long createADFilter(String name, String keyword, String cache){
            ContentValues initialValues = new ContentValues();
            initialValues.put(NAME, name);
            initialValues.put(KEYWORD, keyword);
            initialValues.put(CACHE, cache);
            return this.mDb.insert(DATABASE_TABLE, null, initialValues);
        }

        /**
         * Delete the car with the given rowId
         * 
         * @param rowId
         * @return true if deleted, false otherwise
         */
        public boolean deleteADFilter(long rowId) {

            return this.mDb.delete(DATABASE_TABLE, ROW_ID + "=" + rowId, null) > 0; //$NON-NLS-1$
        }

        /**
         * Return a Cursor over the list of all cars in the database
         * 
         * @return Cursor over all cars
         */
        public Cursor getAllADFilter() {

            return this.mDb.query(DATABASE_TABLE, new String[] { ROW_ID,
                    NAME, KEYWORD, CACHE }, null, null, null, null, null);
        }

        /**
         * Return a Cursor positioned at the car that matches the given rowId
         * @param rowId
         * @return Cursor positioned to matching car, if found
         * @throws SQLException if car could not be found/retrieved
         */
        public Cursor getADFilter(long rowId) throws SQLException {

            Cursor mCursor =

            this.mDb.query(true, DATABASE_TABLE, new String[] { ROW_ID, NAME,
                    KEYWORD, CACHE}, ROW_ID + "=" + rowId, null, null, null, null, null);
            if (mCursor != null) {
                mCursor.moveToFirst();
            }
            return mCursor;
        }

        /**
         * Update the car.
         * 
         * @param rowId
         * @param name
         * @param keyword
         * @param cache
         * @return true if the note was successfully updated, false otherwise
         */
        public boolean updateADFilter(long rowId, String name, String keyword,
                String cache){
            ContentValues args = new ContentValues();
            args.put(NAME, name);
            args.put(KEYWORD, keyword);
            args.put(CACHE, cache);

            return this.mDb.update(DATABASE_TABLE, args, ROW_ID + "=" + rowId, null) >0; 
        }

    }

Here is my Layout-File:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:weightSum="1">

        <TextView 
        style="@style/NormalFont"
        android:text="@string/adconfig"     
        android:layout_weight="0.05" 
        android:clickable="false"
        />

        <TextView
            style="@style/SmallFont"
            android:text="@string/adname"
            android:layout_weight="0.03" />
        <EditText 
            android:layout_width="match_parent" 
            android:id="@+id/ADConfigName" 
            android:layout_weight="0.05" 
            android:layout_height="25dp"
            android:layout_marginBottom="20dp">
            <requestFocus></requestFocus>
        </EditText>

        <TextView
            style="@style/SmallFont"
            android:text="@string/adkeyword"
            android:layout_weight="0.03"
            />
        <EditText 
            android:layout_width="match_parent" 
            android:id="@+id/ADConfigKeyword" 
            android:layout_weight="0.05" 
            android:layout_height="25dp"
            android:layout_marginBottom="20dp">
            <requestFocus></requestFocus>
        </EditText>

            <TextView
            style="@style/SmallFont"
            android:text="@string/adcache"
            android:layout_weight="0.03"
             />
        <RadioGroup 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:orientation="horizontal"
            android:checkedButton="@+id/adcache" 
            android:id="@+id/adcachegroup"
            android:gravity="center" >

            <RadioButton 
                android:text="Yes" 
                android:id="@+id/adcache_true" 
                android:layout_width="80dip" 
                android:layout_height="wrap_content"
>
            </RadioButton>

            <RadioButton 
                android:text="No" 
                android:id="@+id/adcache_false" 
                android:layout_width="80dip" 
                android:layout_height="wrap_content">
            </RadioButton>
        </RadioGroup> 

        <TableLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ADConfigMainsite"
            android:layout_weight="0.76"
            android:gravity="bottom">   
                <TableRow 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"        
                    android:id="@+id/ADConfigMainsite"
                    android:onClick="onClickADConfigSave"
                    android:layout_weight="0.05"
                    android:gravity="bottom">
                        <TextView   
                            android:text="@string/adconfigsave" 
                            style="@style/NormalFont"   
                            android:gravity="bottom"/>
                 </TableRow>
    </TableLayout>


</LinearLayout>

And Here is the LogCat-Log:

    08-31 13:56:42.183: WARN/dalvikvm(2345): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345): FATAL EXCEPTION: main
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345): java.lang.IllegalStateException: Could not find a method onClickADConfigSave(View) in the activity class de.retowaelchli.filterit.ADFilterConfigActivity for onClick handler on view class android.widget.TableRow with id 'ADConfigMainsite'
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.view.View$1.onClick(View.java:2178)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.view.View.performClick(View.java:2532)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.view.View$PerformClick.run(View.java:9277)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.os.Handler.handleCallback(Handler.java:587)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.os.Handler.dispatchMessage(Handler.java:92)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.os.Looper.loop(Looper.java:143)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.app.ActivityThread.main(ActivityThread.java:4196)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at java.lang.reflect.Method.invokeNative(Native Method)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at java.lang.reflect.Method.invoke(Method.java:507)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at dalvik.system.NativeStart.main(Native Method)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345): Caused by: java.lang.NoSuchMethodException: onClickADConfigSave
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at java.lang.ClassCache.findMethodByName(ClassCache.java:247)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at java.lang.Class.getMethod(Class.java:962)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     at android.view.View$1.onClick(View.java:2171)
    08-31 13:56:42.183: ERROR/AndroidRuntime(2345):     ... 11 more
    08-31 13:56:42.183: WARN/ActivityManager(1740):   Force finishing activity de.retowaelchli.filterit/.ADFilterConfigActivity
    08-31 13:56:42.693: WARN/ActivityManager(1740): Activity pause timeout for HistoryRecord{409895c0 de.retowaelchli.filterit/.ADFilterConfigActivity}

Thanks in Advance for your help.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T01:51:02+00:00Added an answer on May 25, 2026 at 1:51 am

    The function assigned by android:onClick="onClickADConfigSave" was not found. Thats because functions assiged by android:onClick have to take a View as an argument (to identify which View was clicked, especially when you assign the same onClick-function to multiple ones).

    Try replacing

    public void onClickADConfigSave() { ...
    

    with

    public void onClickADConfigSave(View v) { ...
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I got this error while trying to compile the below code. I would like
I got an error today while trying to do some formatting to existing code.
I've got an error while using find() function. Here is the code: #include <iostream>
I got this error An error occurred while parsing EntityName. Line 1, position 61.
i got 'JQuery' is undefined error while browsing the page in IE 6 but
I got RJS error: TypeError: element is null while using ajax. I used in
While trying to generate classes from a xsd, i got this error: java.lang.IllegalArgumentException: Illegal
I am new to maven, while using mvn install I've got this error, any
While working on an existing project I suddenly got the following error when trying
in DB2 while executing a query i got SqlException: DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.