2011-12-03 4 views
1

다음 코드는 나에게 오류이 코드가 나에게 오류를주는 이유는 무엇입니까?

내가 참으로 당김의 이름과 디렉토리에 sourceimage1.jpg 및 sourceimage2.jpg을 배치 디렉토리를 생성
public class SuperImage3Activity extends Activity 
{ 

    ImageView image1, image2; 

    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     image1 = (ImageView)findViewById(R.drawable.sourceimage1); // error here 

     image2 = (ImageView)findViewById(R.drawable.sourceimage2); // error here 

    } 

했다.

이클립스 주어진 권고 인

,

"ADT (14)로, (예 도라에몽 같은) 자원 필드는 더 이상 없다 라이브러리 객체에서 정의 될 때. 이 컴파일하지 않고 라이브러리 프로젝트 resuable 할 필요가 상수 그.이의

한 결과는 더 이상 스위치 문에서 directinly 필드를 사용할 수 있다는 것입니다. 당신은 경우 - 다른 체인을 사용해야합니다 대신 "

답변

2
R.id.imageview1 
R.id.imageview2 

res/layout에서 Xml 레이아웃을 만들었으므로 위젯이나 뷰 또는 다른 컨트롤을 연결하거나 동적으로 컨트롤을 만들 수 있습니다. 이

ImageView imageView1=new ImageView(this); 
imageView1.setImageResource(R.drawable.sourceimage1); 
+3

findViewyId는 XML 레이아웃의 컨트롤 ID를 의미하므로 iamge 리소스가 아닌 컨트롤의 ID를 제공해야합니다. 감사합니다 – SALMAN

+2

http://www.higherpass.com/Android/Tutorials/Working-With-Images-In-Android/이 예제를보실 수 있습니다 – SALMAN

+2

답변을 직접 작성 하시려면 답변 본문을 수정하십시오. –

0

findViewById처럼 이미 당신이 방법 (보통 활동)를 호출하고있는 뷰의 일부있는보기 을 찾는 데 사용됩니다.

은 기본적으로는 끝낼 방법은 다음과 같습니다 (순서대로)

  1. 먼저 당신의 모든 구성 요소를 원하는 위치를 나열하는 (프로그램 중 하나 XML 레이아웃 파일, 또는) 레이아웃을 디자인합니다.
  2. 당신은
  3. 당신은 당신의 활동하거나 기존 구성 요소의 자식으로이 레이아웃을 설정 당신이 (당신의 레이아웃이 프로그래밍 할 경우 중 하나를 당신의 XML에 android:id="@+id/your_id_here", 또는 setId(XX)를 사용하여) 관심있는 자원에 ID를 할당
  4. 는 이제 2

findViewById에 정의 된 식별자를 사용하여 findViewById을 사용할 수 있습니다 (일반적으로 setContentView로하는) 매개 변수로 자원 자체 (당신의 당김 객체)와 함께 사용 하지입니다.

관련 문제