1.错误:Error parsing XML: not well-formed (invalid token)
将类似
<EditText
android:layout:id="@+id/edtAge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:text=""
/>
改成
<EditText
android:id="@+id/edtAge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:text=""
/>
或者仔细检查下自己有没有加进去非法字符或者右击选择Source->format,重新排列格式
2.错误:Error: No resource found that matches the given name (at 'src' with value'@drawable/XX').
这个需要在项目目录下的res\drawable中添加一个名字为XX的png文件
3.错误:The constructor AlertDialog.Builder(new View.OnClickListener(){}) is undefined
将AlertDialog.Builder(XX)中的XX改为程序源码文件名.this.比如我的源码文件是MainActivity.java,那这里就改为AlertDialog.Builder(MainActivity.this)
4.错误:OnclickListener cannot be resolved to a type
将类似如下代码
class subListener implements OnclickListener{...}
改成
class subListener implements Button.OnClickListener{...}
5.错误:The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity.mulListener)
下面定义的各控件的OnClickListener修改正确即可。跟上面错误4会一起出现,错误4修改好之后,该问题也就修改好了。
6:错误:在mulListener上出现红叉而且提示错误是The type MainActivity.mulListener must implement the inherited abstract method View.OnClickListener.onClick(View)(代码classmulListener implements android.view.View.OnClickListener{...})
这个问题很奇怪,明明自己写的跟自动生成的是一模一样的代码,可是eclipse好像就是不能识别,只能点自动加载方法了。
将鼠标移到mulListener上,在弹出的错误提示框下面点击Add unimplemented methods...,将自己写的操作代码拷贝到自动生成的那个onClick(View v)函数下,删掉自己写的OnClick即可
7:错误Unable to find explicit activity class
一般出现这个问题是代码中有两个以上的Activity,但是在AndroidMainfest.xml只会存在一个。遇到这个问题时查看AndroidMainfest.xml是否添加了你所有的Activity,没有的话
就把代码中所有的 Activity都添加下,具体操作方式如下(我的代码中是两个activity:com.example.calc跟com.example.calc.result):
AndroidMainfest.xml文件中:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.calc.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
添加一个activity,修改结果如下:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.calc.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.calc.result">
</activity>
</application>
8:错误:The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity)
代码
dig1.setOnClickListener(MainActivity.this);
改成
dig1.setOnClickListener((OnClickListener)MainActivity.this);
这是设置监听器时,需要转换类型
9:错误:The method OnClick(View) of type MainActivity must override or implement a supertype method
错误出现是
dim.setOnClickListener((OnClickListener) MainActivity.this);//这里设置监听器
//由于是this,所以直接使用OnClick()
@Override
public void OnClick(View v)//OnClick(View v)这里有错,提示前面说的这个错误
{...}
之后修改成下面这样虽然编译可以通过,但是使用android模拟器运行时会出现错误:java.lang.RuntimeException: Unable to start activity ComponentInfo{XXX}: java.lang.ClassCastException:
dim.setOnClickListener((OnClickListener) MainActivity.this);//这里设置监听器,主要是这里转换有问题
public class TEST extends Activity implements OnClickListener {
@Override
public void onClick(View v)
{...}
}
最后修改成下面这种方式才算是完全改好:
dim = (Button) findViewById(R.id.dim);
dim.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
...
}
});
注意:单个按钮这样写很好,但是如果有多个控件,想在一个事件中处理的话,可以在xml文件中设置OnClick,然后自己写个事件处理。详细参考下面文章。
http://blog.csdn.net/joiningss/article/details/6799907