2015-07-05 39 views
0

我有我的android程序的問題wheere我需要把一個AutoCompleteTextView到對話框,但不工作。如何AutoCompleteTextView到對話框

我會分享我的代碼:

public class RegisterActivity extends AppCompatActivity { 
private ExpandableListView myList; 
private List<Convenios> convenioList; 
private ArrayList<String> convenioNames = new ArrayList<String>(); 

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

public void CadastrarNovoConvenio(View view) { 
    CadastraConvenio(); 
} 
private void CadastraConvenio() { 
    final Dialog dialog = new Dialog(this); 
    dialog.setContentView(R.layout.add_new_convenio); 

    final RadioGroup tipoConvenio = (RadioGroup) dialog.findViewById(R.id.rbg); 
    final Button save = (Button) dialog.findViewById(R.id.bt_cadastrar); 
    final Button cancel = (Button) dialog.findViewById(R.id.bt_cancelar); 

    final AutoCompleteTextView convenioTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewConvenio); 

    dialog.setTitle("Add new Item:"); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, convenioNames); 
    convenioTextView.setAdapter(adapter); 
    convenioTextView.setThreshold(1); 

    //exibe na tela o dialog 
    dialog.show(); 
    } 

發生在這行代碼的問題:

convenioTextView.setAdapter(adapter); 
convenioTextView.setThreshold(1); 
+0

「在此代碼行中出現的問題:」 這些線路不進行編譯?運行時哪裏出現異常?這兩行中的任何其他類型的問題? – pskink

+0

是的,這行不編譯,但我不知道最新的問題。 –

+0

我認爲setAdapter不能在我的方法中工作 –

回答

0

您所要求的,從活動視圖的AutocompliteTextView。 但它在對話視圖中。所以你在autocompliteTextView變量中有null,並且在convenioTextView.setAdapter(adapter)上得到一個NullPointerException。

您需要更改此代碼:

final AutoCompleteTextView convenioTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewConvenio) 

要這樣:

final AutoCompleteTextView convenioTextView = (AutoCompleteTextView) dialog.getView().findViewById(R.id.autoCompleteTextViewConvenio);