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

안드로이드 버튼이벤트 토스트 오류 ㅠㅠ

0 추천
토스트창을 띄우려고 하는데 저기서 왜 오류가날까요??
저렇게 쓰는게 맞는데...
 
package com.example.woong.btnevent;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final Button btn1 = (Button) findViewById(R.id.btn1);
        final Button btn2 = (Button) findViewById(R.id.btn2);
        final Button btn3 = (Button) findViewById(R.id.btn3);
        final Button btn4 = (Button) findViewById(R.id.btn4);
        final EditText et = (EditText) findViewById(R.id.et1);

        View.OnClickListener listener = new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                    switch (v.getId())
                    {

                        case R.id.btn1:
                            et.setTextColor(0xFFFF0000);
                            break;

                        case R.id.btn2:
                            et.setTextColor(0xFF00FF00);
                            break;

                        case R.id.btn3:
                            et.setTextColor(0xFF0000FF);
                            break;

                        case R.id.btn4:
Toast.makeText(this, et.getText().toString(), Toast.LENGTH_LONG).show();   
//여기 토스트를 띄우는 부분이 오류가나네요...
                            break;
                    }
            }
        };
        btn1.setOnClickListener(listener);
        btn2.setOnClickListener(listener);
        btn3.setOnClickListener(listener);
        btn4.setOnClickListener(listener);
    }
}
kises2003 (240 포인트) 님이 2017년 5월 11일 질문

2개의 답변

0 추천
 
채택된 답변

컴파일 에러인가요?

해당코드에 마우스오버한뒤 에러가 뭐라고 나오는지 알려주세요.

우선 의심가는부분은...

Toast.makeText(MainActvity.this, et.getText().toString(), Toast.LENGTH_LONG).show(); 로 바꿔보세요

 

런타임에러라면

로그캣 전문을 올려주셔야합니다.

Charlesz (4,420 포인트) 님이 2017년 5월 11일 답변
kises2003님이 2017년 5월 15일 채택됨
감사합니다!this가 메인엑티비테에서 디스가 아니였었네요!님이 알려주신대로 하니잘 죄네요 ㅎㅎ
0 추천
일반 Thread에서 UI를 변경하려면 오류가 납니다.

handler를 사용하세요 http://kyleslab.tistory.com/41
익명사용자 님이 2017년 5월 11일 답변
저정돈 오류 안날텐데요.
헨들러도 공부 해야겠네요 ㅠㅠ
...