16

こんにちは仲間のプログラマー!

チュートリアルを行っていますが、解決できない障害に遭遇しました。XML 要素の Java へのリンクを次のように設定すると、次のようになります。

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

ID が XML の正確な ID であるにもかかわらず、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

写真.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>

助けてくれてありがとう!

4

4 に答える 4

16

プロジェクトをクリーンアップしてからProject -> Clean、もう一度試してくださいbuild

于 2013-05-05T21:40:49.893 に答える
2

Build -> Clean project が機能しない場合は、これを実行してください -

ファイルに移動 -> キャッシュを無効にする/再起動 -> 無効にして再起動

于 2019-06-17T16:51:28.910 に答える
0

同じ問題がありました。

  1. xml ファイルからビューを削除します。
  2. プロジェクトを保存します(ctr + S)。
  3. 再度書き込むか、ビューを貼り付けます。
于 2020-07-26T14:59:08.007 に答える