2013-05-05 21 views
12

こんにちは仲間のプログラマー!JavaがAndroid XML要素のIDを認識しない

私はチュートリアルを行っていますが、解決できない障害に遭遇しました。

Image1 = (ImageView) findViewById(R.id.ivImage1); 

XMLにXML要素のリンクが設定されていても、IDは認識されません。 ivImage1 ivImage2、ivImage3はすべて機能しませんが、クラスの残りの要素は機能します。私は間違って何をしていますか?助けのための

<?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> 

おかげ

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:

は、ここに私の活動のコードです!

答えて

14

Project -> Cleanbuildからもう一度プロジェクトをクリーニングしてみてください。

+0

うわー、ありがとう!働いた! – Bauss

+2

これは受け入れられた回答としてマークすることができます。 –

1

あなたのプロジェクトをきれいにしてビルドし、レイアウトやウィジェットをxmlに追加した後、まずそれを保存しなければなりません。

関連する問題