Java无法识别Android XML元素的ID
各位程序员好 我正在做一个教程,但遇到了一个我无法解决的障碍。当我像这样设置XML元素到Java的链接时:Java无法识别Android XML元素的ID,java,android,xml,Java,Android,Xml,各位程序员好 我正在做一个教程,但遇到了一个我无法解决的障碍。当我像这样设置XML元素到Java的链接时: Image1 = (ImageView) findViewById(R.id.ivImage1); 它无法识别id,即使它与XML中的id完全相同。ivImage1、ivImage2和ivImage3都不起作用,但类中的其余元素起作用。我做错了什么 这是我的活动代码: package com.frostbytedev.addsub; import java.io.IOException
Image1 = (ImageView) findViewById(R.id.ivImage1);
它无法识别id,即使它与XML中的id完全相同。ivImage1、ivImage2和ivImage3都不起作用,但类中的其余元素起作用。我做错了什么
这是我的活动代码:
package com.frostbytedev.addsub;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
public class Photo extends Activity implements OnClickListener {
Bitmap bmp;
ImageButton ib;
Button b;
ImageView iv, Image1, Image2, Image3, Image4;
Intent i;
final static int cameraData = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.photo);
initialize();
}
private void initialize() {
// TODO Auto-generated method stub
iv = (ImageView) findViewById(R.id.ivReturnedPic);
b = (Button) findViewById(R.id.bSetWall);
ib = (ImageButton) findViewById(R.id.ibTakePic);
Image1 = (ImageView) findById(R.id.ivImage1);
Image2 = (ImageView) findById(R.id.ivImage2);
Image3 = (ImageView) findById(R.id.ivImage3);
Image4 = (ImageView) findById(R.id.ivImage4);
b.setOnClickListener(this);
ib.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.bSetWall:
try {
getApplicationContext().setWallpaper(bmp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case R.id.ibTakePic:
i= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, cameraData);
break;
}//Closes Switch
}//Closes OnClick
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
iv.setImageBitmap(bmp);
}
}//Closes Class
photo.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/ivReturnedPic"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:layout_gravity="center"
android:src="@drawable/white" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android:weightSum="100">
<ImageButton
android:id="@+id/ibTakePic"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="78"
android:background="@drawable/camera" />
<Button
android:id="@+id/bSetWall"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="22"
android:text="Set as Wallpaper" />
</LinearLayout>
<HorizontalScrollView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/ivImage1"
android:layout_width="125dp"
android:layout_height="125dp"
android:padding="15dp"
android:src="@drawable/stevenrulz" />
<ImageView
android:id="@+id/ivImage2"
android:layout_width="125dp"
android:layout_height="125dp"
android:padding="15dp"
android:src="@drawable/cat" />
<ImageView
android:id="@+id/ivImage3"
android:layout_width="125dp"
android:layout_height="125dp"
android:padding="15dp"
android:src="@drawable/bee" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
谢谢你的帮助 尝试从
project->Clean
和build
重新清理项目。清理并生成项目,在xml中添加布局或小部件后,必须先保存它。如果build->Clean项目不适合您,请执行此操作-
转到文件->使缓存失效/重新启动->使缓存失效并重新启动我也遇到了同样的问题