Why Can't Android:onclick Recognize The Specfied Function?
Solution 1:
You addanote() function must be public, not protected:
publicvoidaddanote(View v)Docs: https://developer.android.com/guide/topics/ui/controls/button#java
Solution 2:
As @Marcin mentioned, you should use public instead of protected. Also, you can use a different but better approach, add a listener on the Button:
Add an id attribute to the Button, then define the listener in the onCreate() method.
XML:
<Button
android:id="addNote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20sp"
android:text="Add Note"/>
Then Java:
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
...
Button addNote = findViewById(R.id.addNote);
addNote.setOnClickListner(newView.OnClickListener() {
@OverridepublicvoidonClick() {
//Your code to be implemented when button is clicked.
}
});
...
}
Solution 3:
You need to make the method public as mentioned here
https://developer.android.com/guide/topics/ui/controls/button#java
The method you declare in the android:onClick attribute must have a signature exactly as shown above. Specifically, the method must: Be public Return void Define a View as its only parameter (this will be the View that was clicked)
the code is working fine after making it public
Post a Comment for "Why Can't Android:onclick Recognize The Specfied Function?"