gpt4 book ai didi

java - ClickableSpan - 类不是抽象的并且不会覆盖抽象方法

转载 作者:行者123 更新时间:2023-11-29 23:28:47 24 4
gpt4 key购买 nike

我是 Android 开发的新手。我一直收到此错误,因为我试图添加打开弹出窗口的选项(onClick())。

看起来错误在第 29->36 行,因为一旦我注释掉该部分,我就不会收到此错误。

有人知道发生了什么事吗?

我的代码:

import android.content.Intent;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.TextView;


public class Login extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

TextView textView = findViewById(R.id.PrivacyPolicyConfirmation);

String text = "I hereby confirm to have read and understood the Privacy Policy";

SpannableString checkBoxSS = new SpannableString(text);

ClickableSpan clickableSpanPrivacyPolicy = new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.BLUE);
ds.setUnderlineText(true);
}
};

checkBoxSS.setSpan(clickableSpanPrivacyPolicy, 49, 63, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setHighlightColor(Color.TRANSPARENT);
textView.setText(checkBoxSS);
textView.setMovementMethod(LinkMovementMethod.getInstance());

textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Login.this, PopUpPrivacy.class));
}
});

}
}

最佳答案

ClickableSpan class是一个抽象类,就是定义了一些方法但是没有实现。在你的情况下,你还没有实现抽象 onClick()方法,这就是您收到错误的原因。因此,您需要像这样声明 onClick() 方法:

ClickableSpan clickableSpanPrivacyPolicy = new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.BLUE);
ds.setUnderlineText(true);
}

@Override
public void onClick(View widget) {
// Do something
}
};

关于java - ClickableSpan - 类不是抽象的并且不会覆盖抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53065710/

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