Shimizu Raito
Shimizu Raito

Reputation: 17

setOnClickListener and findByViewId

this part of my code is having a problem

insertButton = (Button) findByViewId(R.id.button1);  
insertButton.setOnClickListener(new OnClickListener();

it keeps saying method undefined for findByViewId, method for setOnClickListener not applicable and OnClickListener cannot be resolved here is my full code

package edu.nyp.project;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class AddData extends Activity {
    Button insertButton = null;
    EditText shopText= null;
EditText dealText= null;
EditText locationText= null;
EditText websiteText= null;
EditText categoryText= null;

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

    insertButton = (Button) findByViewId(R.id.button1);
    insertButton.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            DBAdapter dbAdapter = new
                    DBAdapter(getApplicationContext());
            try{
                dbAdapter.open();

                String shop = shopText.getText().toString(); 
                String deal = dealText.getText().toString(); 
                String location = locationText.getText().toString(); 
                String website = websiteText.getText().toString(); 
                String category = categoryText.getText().toString(); 
            }
            catch(Exception e){
                Log.d("Add Data ", e.getMessage());
            }
            finally{
                if (dbAdapter != null)
                    dbAdapter.close();
            }
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.adddata, menu);
    return true;
}
}

may i know what is wrong?

Upvotes: 1

Views: 1402

Answers (4)

Zax
Zax

Reputation: 3010

Only thing that i can find unusual about the above code is :

insertButton = (Button) findByViewId(R.id.button1);

So replace it with:

insertButton = (Button) findViewById(R.id.button1);

The rest of the code is fine. I mean the below code is perfectly fine:

 insertButton.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            DBAdapter dbAdapter = new
                    DBAdapter(getApplicationContext());
            try{
                dbAdapter.open();

                String shop = shopText.getText().toString(); 
                String deal = dealText.getText().toString(); 
                String location = locationText.getText().toString(); 
                String website = websiteText.getText().toString(); 
                String category = categoryText.getText().toString(); 
            }
            catch(Exception e){
                Log.d("Add Data ", e.getMessage());
            }
            finally{
                if (dbAdapter != null)
                    dbAdapter.close();
            }
        }
    });

The above kind of syntax always works for me.

Upvotes: 0

GrIsHu
GrIsHu

Reputation: 23638

Import below line in your activity

import android.view.View.OnClickListener;

Upvotes: 1

Ajay S
Ajay S

Reputation: 48602

Use findViewById method instead of findByViewId.

insertButton = (Button) findViewById(R.id.button1);  
insertButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v)
    {
       //Code for action listener.
    }
 });

Upvotes: 0

Pongpat
Pongpat

Reputation: 13348

try

insertButton.setOnClickListener(new View.OnClickListener()
{
        public void onClick(View v)
        {
        }
}

Upvotes: 0

Related Questions