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

转:http://blog.csdn.net/zyz511919766/article/details/7453864

代码:

 1 package zyz.example.autocompletetextview;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.widget.ArrayAdapter;
 6
 7 public class AutoCompleteTextView extends Activity {
 8     /** Called when the activity is first created. */
 9     @Override
10     public void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.main);
13
14         AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.autocomplete_country);
15         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES);
16         auttextView.setAdapter(adapter);
17     }
18     

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

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

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

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

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

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

ok!!!!!!

需要注意的是

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

谨记!



2014年10月14日11:34:09

刚刚遇到了个类作者类似的问题,可能昨晚没睡好的缘故,今天新建一个类,在绑定控件的时候:

ListView lv = (ListView)findViewById(R.id.a);

报错:Cannot cast from View to ListView

各种不理解,还以为我代码写错了,各种找原因,差点以为人生观都不一样了!! 后才看了作者文章才发现:

public class ListView extends Activity {   //类名是什么???????????????????

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.listvview);

		ListView lv = (ListView)findViewById(R.id.a);   //控件名又是什么????????????????????
		ArrayList<String> listdata = new ArrayList<String>();
		for (int i = 0; i < 400; i++) {
			listdata.add("Item" + i);
		}

所以以后写程序真的不能犯迷糊,要不就会让你各种抓狂。  好了,不说了,泪奔去了~~o(>_<)o ~~

时间: 2024-11-03 22:52:16

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

在网页中打开word和excel文件时提示文件已损坏,无法打开的解决办法

系统环境:安装win10的PC机,办公软件安装有office2013.问题描述:在使用华天动力OA过程中,部分审批表单的附件中有word或excel文件,如果点击word或excel文件,点击"打开",会弹出提示"文件已损坏,无法打开"的提示,选择保存后,再到保存的位置打开则能正常打开文件.问题分析:既然保存后可以正常打开文件,可以判定网页中上传的office附件是没有问题的,问题有可能是网页安全设置或office的安全设置问题.在将浏览器重置后,问题依旧,基本上可

MVC中异常: An exception of type &#39;System.Data.ProviderIncompatibleException&#39; occurred in EntityFramework.dll的一种解决办法

今天在调试MVC的例子的时候,总是出错(An exception of type 'System.Data.ProviderIncompatibleException' occurred in EntityFramework.dll but was not handled in user code).在这里报Exception.我改了好久connectionString,还是不能解决问题. public ActionResult Index()        {            retur

IIS中预览错误问题的解决办法(HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射 )

控制面板 程序 打开或关闭windows程序 Internet信息服务 万维网服务 应用程序开发功能 勾选.net  扩展性    ASP    ASP.net 按照这个顺序就可以解决该问题. IIS中预览错误问题的解决办法(HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射 ),布布扣,bubuko.com

JAVA中获取当前系统时间及格式转换

JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.pr

python从数据库中获取utf8格式的中文数据输出时变成问号或乱码

我用python操作mysql数据库,数据库中数据格式为utf8,我使用python调用select语句后获取到数据库的信息,然后使用print打印出来的时候,原本中文数据却无法显示,显示出来的是一串?,为了解决这个问题,我也是绞尽脑汁啊. 我在网上搜集了很多资料,大家都说是windows默认的格式是'GBK',输出从mysql数据库中获取到的中文数据时,需要这样写: 假设info是从数据库中获取的中文值 print info.decode('UTF-8').encode('GBK') 结果:

Docker启动时提示Get Permission Denied while trying to connect解决方法

环境描述 vmware15虚拟机安装centos7.4 64位系统,docker版本19.03.2 问题描述 安装完docker后,执行docker相关命令 docker run ubuntu:15.10 /bin/echo "Hello world" 出现如下提示: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.so

检索 COM 类工厂中 CLSID 为 {96749377-3391-11D2-9EE3-00C04F797396} 的组件失败,异常0x80040154,没有注册类问题分析和解决办法

问题分析和解决 //阅读函数 private void Read(string text) { SpVoice sp = new SpVoice();//报错位置 sp.Rate = GetSpeedSelected(); SpeechVoiceSpeakFlags sFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; sp.Speak(text, sFlags); } 报错信息: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾.

Window10中Anaconda安装第三方库出现HTTPError和SSLError( HTTP 000 CONNECTION FAILED for url)解决办法

说明:所报错误如下,并不是出现time out的情况,而是SSLError(下面红字标出),请先查看自己的是不是也是这种错误. Loading channels: failed Conda HTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch/repodata.json>Elapsed: - An HTTP error occ

“在 setroubleshoot 服务中读取信息时出错:没有那个文件或目录” 的解决办法

在学习鸟哥的LINUX私房菜(基础篇)第17.5.5 SELinux所需的服务 章节中 鸟哥提到: [[email protected] ~]# chkconfig --list setroubleshoot setroubleshoot 0:off 1:off 2:off 3:on 4:on 5:on 6:off # 我们癿 Linux 运作模式是在 3 戒 5 号,因此这两个要 on 卲可. 我的虚拟机为CentOS5.11, 但是我在测试的时候,出现如下信息: [[email protec