2015-04-23 2 views
0

Это функция, которая должна получить findViewById из AutoCompleteTextView, определенного в другой XML-файл с идентификатором = suggestionsTextViewAndroid: Не удается разрешить getViewById()

private void updateCandidates() { 
    if (!mCompletionOn) { 
     if (mComposing.length() > 0) { 
      list = new ArrayList<String>(); 
      ArrayList<String> list1 = new ArrayList<String>(); 
      // list.add(mComposing.toString()); 
      String asd = mComposing.toString(); 
      asd = asd.trim(); 


      DBManager db; 
      db=new DBManager(getApplicationContext()); 
      db.open(); 
      Cursor c = db.suggest(asd); 

      AutoCompleteTextView t = (AutoCompleteTextView)findViewById(R.id.suggestionsTextView); 



      if(c!=null) 
      { 
       if(c.moveToFirst()) { 
        StringBuilder str = new StringBuilder(); 
        String text1 = c.getString(c.getColumnIndex("word")); 
        str.append(text1).append("\n"); 
        String text = c.getString(c.getColumnIndex("gremeaning")); 
        String arr[] = text.split(";"); 
        for (String a : arr) { 
         a = a.trim(); 
         System.out.println(a); 

         Toast.makeText(getApplicationContext(), "This is the word = " + a, Toast.LENGTH_SHORT).show(); 
         list.add(a); 
         str.append(a).append("\n"); 


        } 

        t.setText(str); 
       } 


       }c.close(); 



     } 
    } 
} 

Ошибка я получаю не может решить findViewById , Нет исправлений. Пожалуйста помоги.

+0

Где ваш метод «updateCandidates»? В Управлении? Вы используете Фрагменты? – beyondtheteal

ответ

0
private void updateCandidates(Activity context) { 

} 

вам нужно получить контекст деятельности в этой функции, то вы должны назвать вроде как следовать

context.findViewById(Some ID Here) 
+0

Эта проблема была устранена. Но эта функция updateCandidates() вызывается несколько раз. Какой параметр я могу пройти? –

+0

Создать статический класс, как следовать общественного класса Utils {статический контекст общественной деятельности;} , а затем добавьте следующие строки в вас MainActivity OnCreate метод Utils.context = это; Теперь вызовите findViewById as Следуйте за Utils.context.findViewById (здесь есть ID) – HarrY

Смежные вопросы