通过findViewById()方法从layout中获取view并进行相应的转换时提示:"Cannot cast from View to AutoCompleteTextView"的解决办法!

代码:

package zyz.example.autocompletetextview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class AutoCompleteTextView extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
        AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.autocomplete_country);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES);
        auttextView.setAdapter(adapter);
    }
    

第14行提示错误:“Cannot cast from View to AutoCompleteTextView”,从而也导致第16行发生错误。

细查原因,未发现有拼写错误。

上网搜索,有说可能是未导入相应的包,可明明已经按过组合键“ctrl+shift+O”导入了可能的包了。

也有说根本不能这么转换,扯,搞android开发的都是在用这个方法啊!


再细看,恍然,原来定义的类名跟调用的函数名一模一样,冲突了,怪不得呢!!!

经修搞改类名后,错误排除!!!!!

ok!!!!!!


需要注意的是

(1)改完类名后可能需要相应的改动“.java”文件的名称
(2)改动完成后,再按一次组合键“ctrl+shift+O”,确保导入了所需的包。因为之前的名称冲突可能导致你并未导入正确的包。
(3)记得保存一下修改结果!

谨记!

`findViewById` 是 Android 开发用于查找布局文件的视图组件的方法。`AppCompatActivity` 是 Android 支持库提供的一个兼容 Activity 类,它允许开发者在较新的 Android 版本上使用旧版的 Activity 功能。 要通过 `AppCompatActivity.findViewById` 获取 Cordova 项目的视图,首先需要确保你的 Cordova 项目已经正确导入了 Android 支持库,并且你的项目代码使用了 `AppCompatActivity` 而不是原生的 `Activity` 类。下面是如何获取 Cordova 项目的视图的一个基本示例: 1. 确保你的项目已经添加了 Android 支持库依赖。 2. 如果你的 Cordova 活动继承自 `AppCompatActivity`,你可以使用 `findViewById` 方法获取视图。通常在 `onCreate` 方法或者在需要获取视图的候调用它。 3. 你需要知道你想获取的视图在布局文件的 ID。假设布局文件有一个视图元素的 ID 是 `my_view`,你可以这样获取它: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set the view from the activity_main.xml layout file setContentView(R.layout.activity_main); // Find the view with the ID 'my_view' defined in the layout file View myView = findViewById(R.id.my_view); // Now you can work with your view, for example: // myView.setVisibility(View.VISIBLE); } ``` 在使用 `findViewById` 方法,请确保: - `R.id.my_view` 的 ID 与布局文件定义的视图 ID 相匹配。 - 视图的定义是在当前 Activity 的布局文件,否则 `findViewById` 会返回 `null`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值