마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

팝업 창을 띄울떄, 글씨를 띄우는게 아니라, 이미지를 띄우고 싶습니다.

0 추천

 

안녕하세요.

벨 이미지를 클릭시에, 다이얼로그의 팝업창이 뜨면서 그안에 이미지가 좀 큰 사진이 나와야하는데,

어디가 잘못되어서 잘 안나오는지 모르겠습니다..ㅠ..

 

First_Movie 부분에서 각 case문(1~5까지)에 따라서 각각 팝업창에서 다른 이미지들을 보여주고자 하는데, Bell_Image_Custom_Dialog 부분이 어디가 잘못되서 이러는지 잘 모르겠습니다.. 

 

이미지는 first_image, second_image third_image .. 해서 fifth_image 까지 구성이 되어 있습니다.

 

아래에 소스를 한번 적어보았습니다 ㅠ 소스가 좀 넘는 부분에 대해서는 댓글로 달아보았습니다.

 

<First_Movie 부분의 벨이미지 이벤트 부분>

Bell = (ImageView) findViewById(R.id.bell_image);
Bell.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Bell_Image_Custom_Dialog dialog = new Bell_Image_Custom_Dialog(First_Movie.this);
        dialog.show();

    }
});

 

<Bell_Image_Custom_Dialog 자바 부분의 에러 부분입니다>

sunju.png

 

< Bell_Image_Custom_Dialog 자바 부분 파일의 소스입니다 >

package ex.real_project;

import android.app.Dialog;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;

public class Bell_Image_Custom_Dialog extends Dialog {

    ImageView Movie_Instruction;

    public Bell_Image_Custom_Dialog(Context context) {
        super(context);
        setContentView(R.layout.activity_bell__image__custom__dialog);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_bell__image__custom__dialog);

        Movie_Instruction = (ImageView) findViewById(R.id.imageView2);
        Movie_Instruction.setOnClickListener(this);

    }


    public void setImage(ImageView resource) {

        ImageView.setIamgeResource(resource);

    }
}

 

공산당 (1,960 포인트) 님이 2016년 11월 2일 질문
< Bell_Image_Custom_Dialog xml 파일의 소스입니다 >
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_bell__image__custom__dialog"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="ex.real_project.Bell_Image_Custom_Dialog">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srcCompat="@mipmap/ic_launcher"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        />

</RelativeLayout>

1개의 답변

0 추천
착각하신듯 합니다.

 ImageView.setIamgeResource(resource); 가 아니라.

멤버 변수인  Movie_Instruction.setIamgeResource(resource); 가 되어야 할 듯 해요.

그리고 , setImage 자체를 안 부르시는 문제도 있으니 show 호출 전에 세팅 해주시구요
익명사용자 님이 2016년 11월 3일 답변
으 ㅠㅠ 답변 감사드립니다 ㅠ
그런데 제가 아직도 감을 잘 못잡고 있습니다 ㅠ ㅠ
아래의 자바 소스를 한번 첨부해 보겠습니다.

아래의 부분에서 resource 부분에 대해서 "Cannot resolve Symbol 'resource"

가 뜹니다. 아무래도 이 자바파일 내에서 resource를 지정해주지 않아서 같은데, 어떻게 해주어야할지 .. ㅠ


<자바파일 부분 >
import android.app.Dialog;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;

public class Bell_Image_Custom_Dialog extends Dialog {

    ImageView Movie_Instruction;

    public Bell_Image_Custom_Dialog(Context context) {

        super(context);

        setContentView(R.layout.activity_bell__image__custom__dialog);


        Movie_Instruction.setImageResource(resource);

        // Movie_Instruction = (ImageView) findViewById(R.id.imageView2);
        // Movie_Instruction.setOnClickListener(this);

    }
}


< 그리고 Bell을 호출하는 부분입니다 >
 Bell = (ImageView) findViewById(R.id.bell_image);
        Bell.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Bell_Image_Custom_Dialog dialog = new Bell_Image_Custom_Dialog(First_Movie.this);
                dialog.show();

            }
        });
...