casting - 我不能 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"/>
解决方案
你正在做类似的错误,就像你在这里做的那样。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'
和使用库时,您将获得所有可以在项目中使用的类,但您不能修改或转换这些类。如果有特殊需要修改来自库类之一的响应,则使用接口或通过扩展库类创建自定义类。
快乐编码!
推荐阅读
- tail-recursion - Idris 是否使用尾调用优化?
- php - 使用 PHP 中的 POST 方法在 REST API 中获取数据
- javascript - GroupBy 对象数组到新数组和总和值
- python - Pandas - 将多个值解包到另一列并合并到一个 Df 中
- python - 如何使用环境变量设置 boto3 连接超时和读取超时?
- django - 将 postgres 数据库与 heroku 连接
- python - 为什么我的 Matplotlib 子图大小不同?
- macos - mvn compile org.apache.maven.wagon.TransferFailedException:传输失败
- javascript - 开玩笑:不允许覆盖模拟方法
- javascript - 替换或模拟导入另一个文件