2013-06-29 5 views
0

단추 클릭을 사용해야하는 조각이 있습니다.받는 방법 조각에서 단추 클릭

문제는 클릭 자체가 모든 조각을 호스팅하고 조각 자체가 아닌 MainActivity를 호스팅한다는 것입니다. 로깅을 시도했지만 버튼을 클릭해도 로그에 아무 것도 표시되지 않습니다.

전체 onCreateView가 표시됩니다.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.server_settings, container, false); 
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn); 
    loginButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(final View v) { 
      //were the magic won't happen. 
     } 
    }); 
    return inflater.inflate(R.layout.server_settings, container,false); 
} 

답변

5

당신의 문제는 onClick 처리기가 할당되지 않은 팽창 된 뷰의 인스턴스를 반환한다는 것입니다.

이 시도 :

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.server_settings, container, false); 
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn); 
    loginButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(final View v) { 
      //were the magic won't happen. 
     } 
    }); 
    return view; 
} 
1

당신은 view를 반환하는 대신 다시 server_setting을 팽창해야합니다. 새로운 객체를 매번 반환합니다.

+0

오 감사를! 좋은 4 시간 (그리고 같은 양의 맥주)을위한 문제에 있었다 –

+0

맥주는 좋은 물건이다 (들) – Blackbelt