한 걸음 두 걸음

android studio 버튼 클릭 시 팝업창 띄우기 본문

FrontEnd/Android

android studio 버튼 클릭 시 팝업창 띄우기

언제나 변함없이 2019. 2. 12. 17:04
반응형

음,, 내가 만들고싶은 느낌은 커스텀으로 만들어줘야해서 지금은 따로 Alert Dialog를 활용하여 팝업창을 띄우고자 합니다.

커스텀은 그 다음에 내용 추가할 예정!!

일단 버튼을 누르면 alert dialog를 띄워줄 것이기 때문에 button에 onClick 이벤트를 추가해줍니다.

  btn_moresee1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                show();
            }
        });

여기서 show는 커스텀 함수로, 아래 코드와 같습니다.

단, 여기서 저는 textView id: tv_state1 값을 가져와 팝업창에 띄우려고getText.toString해줘서 이를 setMessage로 설정했지만 그냥 "문자열" 내용을 적어서 띄우셔도 좋습니다.


void show(){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("자세히보기");
        //타이틀설정
        String tv_text = tv_state1.getText().toString();
        builder.setMessage(tv_text);
        //내용설정
        builder.setPositiveButton("읽음",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(getApplicationContext(),"읽기완료",Toast.LENGTH_LONG).show();
                    }
                });

        builder.setNegativeButton("취소",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(getApplicationContext(),"취소완료",Toast.LENGTH_LONG).show();
                    }
                });
        builder.show();
    }

전체 구조는 다음과 같으니 참고해주세요~

public class bookPage extends AppCompatActivity {
    TextView tv_state1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_book_page);

        tv_state1 = (TextView)findViewById(R.id.state1);

        btn_moresee1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                show();
            }
        });
    }

    void show(){

    }

}
반응형