首页 > 解决方案 > 我不能 CastType 类

问题描述

我不能投这个请帮助,它与android view.View和com.stfalcon是相同的类名,但我不能将类名更改为任何一个,因为它是READ_ONLY_file,我该如何投这个?我需要投射这个 >>>>> this.messagesList = (MessagesList) findViewById(R.id.messagesList);

这是我的依赖项,我已经从我的 DefaultMessagesActivity.java 导入它

implementation 'com.github.stfalcon:chatkit:0.3.3'

这是我的 Java

public class DefaultMessagesActivity extends DemoMessagesActivity
    implements MessageInput.InputListener,
    MessageInput.AttachmentsListener,
    MessageInput.TypingListener{

public DefaultMessagesActivity(MessagesList messagesList){

}

public static void open(Context context) {
    context.startActivity(new Intent(context, DefaultMessagesActivity.class));
}
private MessagesList messagesList;

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

    this.messagesList = (MessagesList) findViewById(R.id.messagesList); //ERROR HERE CANT CAST

这是我的 xml 文件名 activity_default_messages.xml

    <com.stfalcon.chatkit.messages.MessagesList
    android:id="@+id/messagesList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/input"/>

    

标签: castingchatkit

解决方案


你正在做类似的错误,就像你在这里做的那样。same class name with android view.View and com.stfalcon并不意味着类是相同的,因为它们具有相同的名称。

com.stfalcon.chatkit.messages.MessagesList messagesList = findViewById(R.id.messagesList);

这将是正确的说法。当您使用implementation 'com.github.stfalcon:chatkit:0.3.3'和使用库时,您将获得所有可以在项目中使用的类,但您不能修改或转换这些类。如果有特殊需要修改来自库类之一的响应,则使用接口或通过扩展库类创建自定义类。

快乐编码!


推荐阅读