gpt4 book ai didi

java - android点击按钮没有触发事件

转载 作者:行者123 更新时间:2023-12-01 07:02:28 26 4
gpt4 key购买 nike

我的 activity_main.xml View 中只有一个按钮,如下所示:

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/capt_sig"
android:onClick="openCaptureActivity" //click event here
android:text="@string/capture_signature"
android:layout_below="@+id/result"
android:layout_alignParentEnd="true"
android:layout_marginTop="235dp"
android:clickable="true"
android:typeface="sans" />

并在 MainActivity.java

中编写以下 onclick 事件
public void openCaptureActivity(View view){
setContentView(R.layout.activity_capture_signature);
}

现在,它在 activity 下打开名为 activity_capture_signature.xmlbuttononClick,以下是内容.

<android.gesture.GestureOverlayView
android:id="@+id/signaturePad"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_weight="5"
android:background="#FFF"
android:eventsInterceptionEnabled="true"
android:fadeEnabled="false"
android:gestureColor="#000"
android:gestureStrokeLengthThreshold="0.1"
android:gestureStrokeType="multiple"
android:orientation="horizontal">
</android.gesture.GestureOverlayView>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/saveSig"
android:layout_marginTop="100dp"
android:onClick="SaveSignature" //click event here
android:text="Capture"/>

我在这里为按钮添加了一个onClick,正如您所看到的,该事件在CaptureSignatureActivity.java中编写,如下所示:

public void SaveSignature(View v){
//Do some stuff
}

即使采用此设置,SaveSignature 事件也会抛出致命异常,如下所示:

java.lang.IllegalStateException: Could not find method SaveSignature(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'saveSig'

我仍然无法理解即使在activity中添加click事件之后,为什么会发生这个异常。这是因为我从父级打开 activity 的方式吗?这里有什么遗漏吗?

最佳答案

您需要在 openCaptureActivity() 方法中启动新 Activity CaptureSignatureActivity.java。目前,您正在尝试在 MainActivity 本身内部膨胀布局。做

public void openCaptureActivity(View view){
startActivity(new Intent(MainActivity.this, CaptureSignatureActivity.class));
}

关于java - android点击按钮没有触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com