Reputation: 183
Hello fellow programmers!
I am doing a tutorial but have ran into a snag that I cannot solve. When I set up the link of XML elements to Java like this:
Image1 = (ImageView) findViewById(R.id.ivImage1);
It does not recognize the id even though it is the exact one in the XML. ivImage1 ivImage2, and ivImage3 all don't work but the rest of the elements in the class do. What am I doing wrong?
Here is my Activity code:
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>
Thanks for the help!
Upvotes: 16
Views: 6633
Reputation: 11
I had the same issue.
Upvotes: 0
Reputation: 483
If Build -> Clean project doesn't work for you, Do this -
Go to File -> Invalidate caches / Restart -> Invalidate and Restart
Upvotes: 2
Reputation: 3476
Try cleaning the project from Project -> Clean
and build
it again.
Upvotes: 16
Reputation:
Clean and Build Your Project and after adding layouts or widgets in xml u must saved it first.
Upvotes: 1