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

다이얼로그 오류 뜨는거 해결해주세요ㅠ

0 추천
@Override
public View getView(final int i, View view, final ViewGroup viewGroup) {
    final View v = View.inflate(context, R.layout.trend_2019, null);
    final TextView colorName = (TextView)v.findViewById(R.id.colorName);
    TextView colorNameEn = (TextView)v.findViewById(R.id.colorNameEn);
    TextView colorCode = (TextView)v.findViewById(R.id.colorCode);

    colorCode.setBackgroundColor(Color.parseColor(colorDataList.get(i).getColorCode()));
    colorName.setText(colorDataList.get(i).getColorName());
    colorName.setBackgroundColor(Color.parseColor(colorDataList.get(i).getColorCode())); //텍스트 배경색도 같이 배경컬러로 변경
    colorNameEn.setText(colorDataList.get(i).getColorNameEn());
    colorNameEn.setBackgroundColor(Color.parseColor(colorDataList.get(i).getColorCode())); //텍스트 배경색도 같이 배경컬러로 변경

    v.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d("log", colorDataList.get(i).getColorCode());
            AlertDialog.Builder dlg = new AlertDialog.Builder().create();
        }
    });
    v.setTag(colorDataList.get(i).getColorCode());



    return v;
}

현재 베이스 어뎁터안에있는 getView()메서드에서 다이얼로그를 출력하려고하는데 AlertDialog.Builder() 이 괄호 부분에 this를 집어넣거나 해당 액티비티를 집어넣으면 당연히 밑에 빨간줄로 에러가 납니다. 이럴경우 어떻게 해야 다이얼로그를 띄울수 있을까여? 현재 액티비티는 베이스 어댑터를 상속받아 따로 클래스로 빼온 액티비티입니다.

wngus457 (180 포인트) 님이 2019년 8월 1일 질문

1개의 답변

0 추천

final View v = View.inflate(context, R.layout.trend_2019, null); 시 사용하는 context 쓰면 빨간줄은 없어질듯 합니다.

단지  Thread 가 꼬여 Exception이  발생할 수 있으니 

Activity에서  콜백 인터페이스를 입력 받아 Handler등으로 이벤트를 날리고  Activity의  Handler에서 띄우는걸 추천합니다.

 

익명사용자 님이 2019년 8월 2일 답변
...