Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Not Recognizing ID of Android XML Elements

Tags:

java

android

xml

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!

like image 545
Bauss Avatar asked May 05 '13 21:05

Bauss


2 Answers

Try cleaning the project from Project -> Clean and build it again.

like image 69
Vishal Pawale Avatar answered Sep 25 '22 07:09

Vishal Pawale


If Build -> Clean project doesn't work for you, Do this -

Go to File -> Invalidate caches / Restart -> Invalidate and Restart

like image 28
Rupam Das Avatar answered Sep 23 '22 07:09

Rupam Das