2012-05-14 3 views
0

TabActivity 솔루션 described here을 함께 조작했지만, 해킹하는 방법이므로 컨트롤 컨텍스트와 관련된 문제가 있습니다. 특히 대화 상자와 스피너는 컨텍스트가 잘못되어 런타임에 잘 작동하지 않고 작동하지 않습니다. 내 Spinner의 컨텍스트를 getParent()으로하고 싶지만, 컨스트럭터 밖에서 스피너의 컨텍스트를 설정하는 방법을 알지 못합니다. findViewById을 사용하여 회 전자를 연결하기 때문에이 시점에서 명시 적으로 생성자를 호출하지 않습니다. Spinner의 컨텍스트를 조정할 수있는 방법이 있습니까? 현재 내 코드는 다음과 같습니다.안드로이드에서 회 전자 컨트롤의 컨텍스트 설정

categorySpinner = (Spinner) findViewById(R.id.spinner_category); 
    categoryAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list3); 
    categoryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    categorySpinner.setAdapter(categoryAdapter); 

    categorySpinner.setOnItemSelectedListener(this); 

답변

1

getActivity()는 이러한 상황에서 친구입니다. 그러면 컨텍스트를 현재 활동으로 설정할 수 있습니다.

+0

이 아이디어의 변형을 사용했습니다 ... View viewToLoad = mInflater.from (this.getParent()). inflate (R.layout.resource_filter, null); setContentView (viewToLoad); ' –

+0

getActivity()를 사용하여 회귀 컨텍스트를 getParent()로 설정하는 위치는 어디입니까? LayoutInflater가 작동하는 것처럼 보이지만 LayoutInflater를 사용할 수 없다면 내 코드의 다른 부분에 다른 문제가 발생할 것입니다. – Faizal

+0

데이터를 회 전자에 넣는 어댑터를 호출하면 첫 번째 매개 변수가됩니다. – Barak