Я работаю над проектом студии android, который частично построен в kotlin, а остальные в java.Я никогда не работал с kotlin до этого проекта, и в настоящее время я провожу часы, пытаясь реализовать простое нажатие кнопки.Я знаю, что этот вопрос задавали много, но большинство решений, которые я пробовал, не работают.
вот мой xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/folioPageFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/webViewLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/indicatorLayout">
<com.folioreader.ui.view.WebViewPager
android:id="@+id/webViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.folioreader.ui.view.FolioWebView
android:id="@+id/folioWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<com.folioreader.ui.view.LoadingView
android:id="@+id/loadingView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:maxVisibleDuration="10000"
tools:visibility="invisible" >
</com.folioreader.ui.view.LoadingView>
<com.folioreader.ui.view.VerticalSeekbar
android:id="@+id/scrollSeekbar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_above="@+id/indicatorLayout"
android:layout_alignParentRight="true"
android:layout_marginRight="2dp"
android:animateLayoutChanges="true"
android:thumb="@drawable/thumb"
android:visibility="invisible" />
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content" tools:layout_editor_absoluteY="655dp"
tools:layout_editor_absoluteX="161dp"
android:id="@+id/buttonVasko"
android:layout_marginTop="530dp"
android:layout_marginLeft="150dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="0dp"
/>
<LinearLayout
android:id="@+id/indicatorLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:visibility="gone">
<TextView
android:id="@+id/minutesLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#888888"
android:textSize="7sp" />
<TextView
android:id="@+id/pagesLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#bbbbbb"
android:textSize="8sp" />
</LinearLayout>
это начало функции onCreateView:
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?, savedInstanceState: Bundle?
): View? {
buttonVasko.setOnClickListener(object:View.OnClickListener {
override fun onClick(view:View) {
Toast.makeText(context,"WORK!!!", Toast.LENGTH_LONG).show()
}// end onClick
})
это ошибка, которую я получаюпри запуске кода:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.folioreader.android.sample, PID: 3862
java.lang.IllegalStateException: Could not find method zoko(View) in a
parent or ancestor Context for android:onClick attribute defined on view
class androidx.appcompat.widget.AppCompatButton with id 'buttonVasko'
Я также попытался поместить setOnClickListener в самый конец функции onCreateView, если была строка кода, которую нужно было написать перед setOnClickListener, но результат тот же.
Полный FolioPageFragment находится здесь: https://codeshare.io/5PlwDw