0

내 응용 프로그램에서는 popupwindow를 사용하여 내 사용자 정의보기를 팽창 시켰습니다.안드로이드는 MultiAutoCompleteTextview (팝업 창 안에 MultiAutocompleteTextview가 있음) 목록을 비 웁니다.

이제 내부에는 제안을 제공하는 AutoCompleteTextview가 하나 있습니다.

이제 AutoCompleteTextView 내에 텍스트를 입력하기 시작할 때마다 응용 프로그램이 충돌합니다.

오류 로그 : -

Unable to add window -- token [email protected] is not valid; is your activity running? 

문제는 여기에오고는 : -

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder vh; 
     View view = convertView; 
     if (view == null) { 
      if (inflater == null) 
       inflater = LayoutInflater.from(parent.getContext()); // ISSUE 
      view = inflater.inflate(R.layout.chips_adapter,parent, false); // ISSUE 
      vh = new ViewHolder(); 
      vh.tv = (TextView) view.findViewById(R.id.textView1); 

      view.setTag(vh); 
     } else { 
      vh = (ViewHolder) view.getTag(); 
     } 

     vh.tv.setText(suggestions.get(position).getTitle()); 

     return view; 
    } 

나는 오류가 다른 팽창 레이아웃 위에 레이아웃을 팽창에 대해 생각합니다. 어댑터 클래스에서

+0

활동에 대한 컨텍스트를 어댑터에 전달하고 동일한 컨텍스트 오브젝트를 사용하십시오. – SripadRaj

+0

@SripadRaj mainactivity 컨텍스트를 사용하여 시도했습니다 –

답변

0

:

하는 컨텍스트의 매개 변수와 생성자를 만듭니다.

예 : (클래스 이름 AdapterClass 고려해야)

Class AdapterClass { 
    LayoutInflater inflater; 
    private Context context; 

    public AdapterClass(Context context){ 
     this.context = context; 
     inflater = LayoutInflater.from(this.context); 
    } 


    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder vh; 
     View view = convertView; 
     if (inflater == null){ 
      view = inflater.inflate(R.layout.chips_adapter,parent, false); 
      vh = new ViewHolder(); 
      vh.tv = (TextView) view.findViewById(R.id.textView1); 
      view.setTag(vh); 
     } else { 
      vh = (ViewHolder) view.getTag(); 
     } 

     vh.tv.setText(suggestions.get(position).getTitle()); 

     return view; 
    } 
} 

참고 : - 당신은 매개 변수로 컨텍스트와 생성자를 초기화 깜빡하지 않는 AdapterClass를 호출 할 때.

+0

어댑터 초기화에서 mainActivity 컨텍스트를 사용하고 있습니다. 하지만 그 오류를 보여주는 –

+0

생성자 내부 MainActivity.this을 통과 시켰습니까? –

+0

이전에 나는 (위와 같이) 위의 코드를 사용했지만 동일한 오류로 인해 parent.getContext()를 컨텍스트로 사용하여 시도했습니다. –