androidthis错误
① Android this会不会为空
不会,this是代表这个activity类,只要activity实例化了,就不会为空的。如果包装在方法类,需要类名点this调用才不会报错。
② TextView tv = new (this);在Android开发中,为什么总显示语法错误呢!应该怎么改
这个构造函数要求参数是Context类型的,你的this不一定是这个类型。
比如你在HomeActivity这个java类中使用的时候,参数可以传HomeActivity.this,因为Activity也是Context的子类。
③ android添加按钮出错,Button bn = new Button(this);报错
把this换成MainActivity.this,因为你是在匿名内部类使用this,你的this是指OnClickListener
④ Android this问题
从Intenti=newIntent(this,Sang_h2.class)的原意看,应该指向上下文Context(如Activity,Service,Application等)。但这里是否使用正确要看方法onClick所在的类。
假如
{
//……
classmyListenerimplementsView.onClickListener{
publicvoidonClick(Viewv){
//这时this指向myListener,那么正确的用法是
Intenti=newIntent(MyActivity.this,Sang_h2.class);
startActivity(i);
}
}
//……
}
⑤ 使用android怎样查看错误提示信息
或许困扰很多Android开发者最大的问题莫过于Bug的修改了,调Bug 改Bug,想想都头疼,以下就是一位对Bug很有经验的开发者总结出来的有关Android错误的解决方法。
1 android java.net.UnknownHostException: Unable to resolve host "...": No address associated 错误
在android开发的时候经常会遇到这个错误,一般来说,造成这种错误的最普遍情况有两种:
1.android设备网络连接没打开,例如3G网络和WIFI网络
所以,如果遇到这种错误时,请先查看网络是否已正常连接.
2.Manifest文件没有标明网络访问权限
如果确认网络已经正常连接并且还是出这种错误的话,那么请看下自己的Manifest文件是否标明应用需要网络访问权限,如果没标明的话,也访问不了网络,也会造成这种情况的.
//网络访问权限
2 Failed to install *.apk on device 'emulator-5554': timeout
错误提示:
Failed to install helloworld.apk on device 'emulator-5554': timeout
或者
the user data image is used
原因:
由于模拟器已经开启而没有关闭或者非法关闭引起的。
解决方法:
删除 C:Documents and SettingsAdministrator.androidavd对应版本.avd
下所有以.lock结尾的文件夹。
或者
Failed to install *.apk on device *:
timeout Launch canceled!
还有一种办法:
在window->preferences->Android->DDMS->ADB connection time out (ms):
将这个值设置的大一些,默认为5000,设置成500000,然后就OK了。
3 This Android SDK requires Andriod Developer Toolkit version 20.0.0 or above
打开Eclipse(Android 开发环境),发现以下报错:
图片显示信息为:Android SDK要求ADT(Android Developer Toolkit)版本在20.0.0或以上版本,检测到当前版本为18.0.0,请更新最新的ADT。
出现这样的提示,根本原因是Eclipse启动时检测E:Program Filesandroid-sdk-windowstoolslibplugin.prop文件 文件内容为:
begin plugin.prop
plugin.version=20.0.0
# end plugin.prop
这就很容易理解了,需求插件版本为20.0.0,这时候咱们只需要改成:
begin plugin.prop
plugin.version=18.0.0
# end plugin.prop
OK了,重新启动下Eclipse,看看是不是解决了这个问题
4 [Accessibility] Missing contentDescription attribute on image
今天使用了下ADT 16.0 在定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的,在网上一搜 发现原来这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示定义一个android:contentDescription属性,用来描述这个控件的作用。英文原文如下,如有翻译的不对的地方,敬请批评指正。
Resolved this warning by setting attribute android:contentDescription for my ImageView
android:contentDescription="@string/desc"
Android Lint support in ADT 16 throws this warning to ensure that image widgets provide a contentDescription
This defines text that briefly describes content of the view. This property is used primarily for accessibility. Since some views do not have textual representation this attribute can be used for providing such.
Non-textual widgets like ImageViews and ImageButtons should use the contentDescription attribute to specify a textual description of the widget such that screen readers and other accessibility tools can adequately describe the user interface.
5 java.lang.NoClassDefFoundError: com..mapapi.BMapManager解决办法
⑥ Android的这句代码报错,inflate()显示红色,问题出在哪里
一、自带清除缓存
点击AndroidStudio菜单File -> Invalidate Caches/Restar… ,在弹出的对话框中点击Invalidate and Restar
。等待AS清理并自动重启。
二、删除user目录下.AndroidStudio中的文件
关闭AndroidStudio,进入C:\Users\xUser.AndroidStudio3.1(3.1为当前AS版本号),删除除了config以外的文件。重新打开AndroidStudio会自动Sync,等待同步完成。
三、删除user目录下.gradle
关闭AndroidStudio,删除C:\Users\xUser\.gradle。重新打开AndroidStudio会自动Sync,等待同步完成。
注意:删除该文件夹所有的classpath、gradle、compile、implementation等,都需要重新从网上同步。
四、删除工程目录下.gradle、.idea
关闭AndroidStudio,进入工程根目录,删除.gradle、.idea两个文件夹。重新打开AndroidStudio会自动Sync,等待同步完成。
-------------------
原文链接:https://blog.csdn.net/hx7013/article/details/79971980
原文链接:https://blog.csdn.net/hx7013/article/details/79971980
⑦ 关于android开发(java开发)中this的问题
通俗讲,this指本类,如:
public
class
Main
extends
Activity
{
。。。
GridView
gridview
=(GridView)
findViewById(R.id.gridview);
gridview.setAdapter(newImageAdapter(this));
。。。
}
代码第二行的this指Main.this
Android很多控件运行是有条件的,就是所谓的运行环境,就是Context(上下文),Context就是一系列环境变量,控件的运行是基于这些变量的。
我也是花很多时间才真正体会到this,Context概念的,这个概念非常重要,慢慢体会吧。
⑧ 关于Android模拟器运行报错的问题
问题一,解决办法有如下这些:
1.
重启Eclipse,方法File—>Restart。
2.
尝试重启ADB服务。
你可以在sdk目录如c:\Program
Files\Android\android-sdk-windows\platform-tools\下建一个叫restartADB.bat的windows批处理文件,文件中写入:
adb kill-server && adb start-server
pause
需要重启ADB,只要双击运行文件即可,注意adb.exe须在platform-tools目录下,不然脚本可能运行不了
3.
删除Run
Configuration,在Run—>Run
Configuration中,选择删除已经配置的Activity。
4.
尝试删除你的.android文件下的一些镜像文件。按你问题提供的信息,应该在:C:\Users\lgs\.android\avd\androidAddresslist.avd/sdcard.img
C:\Users\lgs\.android\avd\androidAddresslist.avd/sdcard.img
C:\Users\lgs\.android\avd\androidAddresslist.avd/userdata-qemu.img
问题二,解决方法有:
1.重启Eclipse,重启ADB。
2.如果上面方法不行,看一下有没有类似91手机助手,腾讯手机助手等工具正在开启,有的话就结束掉这些工具对应的进程。
3.如果你的sdk还是2.3以下的旧版本,那么就是把tools文件夹中的adb.exe复制到platform-tools文件夹中。
⑨ Android开发,Dialog dialog=new AlertDialog.Builder(this)出错。
比如你的
源码
文件名是
Activity.java,就改成
Dialog
dialog=new
AlertDialog.Builder(Activity.this);
因
名称
而异。在listener中的this
指代
的并不是Activity里的this,而两个this成员和方法是完全不一样的,所以会出错,需要告诉IDE即将访问的是Activity的this,这样就不会出问题了。