안드로이드 개발 질문/답변
(글 수 45,052)
ArrayAdapter를 이용해서 커스텀 어댑터를 구성중인데
이 안에서 startActivity를 호출하는게 가능한가요?
리스트 내부의 버튼이 새로운 액티비티를 오픈해야하는데 이미 arrayadapter를 상속받아버리니
startActivity를 호출 못하네요
2010.02.18 00:21:14
arrayadapter 를 상속한 어댑터도 결국 액티비티 안에서 선언되어 사용하고 있지 않나요?
그러면 그 어댑터에서도 액티비티의 함수에 access 할 수 있을 것 같은데요.
좋은 로직인지는 잘 모르겠지만.... =_= 호출은 가능 할 것 같습니다.
2010.02.18 00:29:52
이렇게 안되면 결국 리스트가 로딩된 후에 메인 액티비티에서 재처리를 해줘야하는데..
그거보단 어댑터 안에서 처리하는게 좋지 않을까.. 라는 생각에 해보려고 했는데 힘드네요..
2010.02.18 01:13:55
어떤 방법으로 구현하신건지 소스를 보기 전에는 알수가 없네요.
저 같은 경우에도 이상없이 ArrayAdapter를 상속받은 클래스에서 startActivity 잘 사용하고 있습니다.
저 같은 경우에도 이상없이 ArrayAdapter를 상속받은 클래스에서 startActivity 잘 사용하고 있습니다.
2010.02.18 01:19:45
이상하네요..
public class UserHomeListViewAdapter extends ArrayAdapter<UserHomeListViewItem> {
public UserHomeListViewAdapter(Context context, int textViewResourceId, ArrayList<UserHomeListViewItem> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
중략
Intent intent = new Intent(getContext(), UserHome.class);
Toast.makeText(getContext(), item.screenName, Toast.LENGTH_LONG).show();
intent.putExtra("user_id", item.screenName);
startActivity(intent);
}
}
그냥 평범한 리스트 뷰 어댑터입니다..
위에서 스타트액티비티를 부를수가 없네요