0
저는 Android에 익숙하지 않아 유연한 단편을 사용하여이 문제가 있습니다. RegactactivityFragment라는 mainActivity 및 Fragment라는 액티비티가 있습니다.유연한 단편화 된 버튼을 클릭하면 작동하지 않습니다
주요 활동에 단편을로드하지만 단편 버튼을 클릭하면 앱이 닫힙니다. 이 일부 내 registerActivityFragment.java의 일부
public class RegisterActivityFragment extends Fragment {
public interface OnButtonsClicked {
public void onRegisterClicked();
public void onNextTimeclicked();
}
OnButtonsClicked buttonClickListener ;
//some codes
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception.
try {
buttonClickListener = (OnButtonsClicked) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnButtonsClicked Functions");
}
}
public void clickRegister(View view)
{
buttonClickListener.onRegisterClicked();
}
public void clickNextTime(View view)
{
buttonClickListener.onNextTimeclicked();
}
}
이며, 이것은 당신이 이런 식으로 onClickListner 설정 RegisterActivityFragment 클래스의 방법을 onCreateView 오버라이드 (override) 할 필요가 내 MainActivity.java
public class MainActivity extends ActionBarActivity implements RegisterActivityFragment.OnButtonsClicked {
RegisterActivityFragment registerFragment= new RegisterActivityFragment();
@Override
public void onCreate(Bundle savedInstanceState){
//adding Fragment to activity
}
//implementing the interface
@Override
public void onRegisterClicked() {
// TODO Auto-generated method stub
Toast toast = Toast.makeText(MainActivity.this,"asd",Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER,0,0);
toast.show();
}
@Override
public void onNextTimeclicked() {
Toast toast = Toast.makeText(MainActivity.this,"asd",Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER,0,0);
toast.show();
}
}
사실 두 번째 방법은 문제를 해결하지만, 캡슐화의 객체 지향 특성을 – NoXSaeeD
mm을 적용하지 않습니다 ...하지만 첫 번째 방법은 – NoXSaeeD
더 내가 듣고 행복 해요 TNX – K1A