조각과 활동간에 데이터를 전달하려고하는데 할 수 없습니다. 오류나 예외는 없습니다. 내 조각에 가치와 가치가있는 활동과 활동이 있습니다. 인터페이스를 사용하고 있습니다.Android : 조각과 활동 사이의 데이터
HoroscopeChoiceFragment (코드 조각) 버튼이있는 조각입니다. 각 버튼에는 내가 값을 매번 누를 때마다 액티비티에 전달하려는 값이 있습니다. 코드 활동의
(...)
static OnInfoChangedListener mCallback;
public HoroscopeChoice() {}
/******************************
* Callback
********/
public static void OnInfoChangedListener(OnInfoChangedListener callback) {
mCallback = callback;
}
public interface OnInfoChangedListener {
public void onInfoChanged(String horosocopo);
}
public View onCreateView(final LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_horoscope_choice,
container, false);
Button aquarius;
aquarius = (Button) view.findViewById(R.id.aquarius1);
final int id = view.getId();
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
String horoscopo = onClick2(v.getId());
Log.d("HoroscopeChoice", "push button->"+horoscopo);
mCallback.onInfoChanged(horoscopo);
}
};
aquarius.setOnClickListener(onClickListener);
public String onClick2(int id)
{
String horoscopo="";
if (id == R.id.aquarius1) {
horoscopo = "Aquarius";
}
}
(...)
: 나는 내가 값을 얻을 조각에 Log.d 작업을 수행 할 때
(...)
public void onInfoChanged(String horoscopo) {
Log.d("SchedulerActivity","OnInfoChanged na Scheduler->"+horoscope);
mHoroscopeDisplay = (TextView) findViewById(R.id.dailyHoroscope4);
mHoroscopeDisplay.setText(horoscopo);
}
, 활동에 나는 아무 가치가 없습니다. 누가 잘못되었는지 아는 사람 있습니까?
1.'mCallback'은 어떻게 설정됩니까? 2. 문제는'onClick2()'메소드 내부에있을 수 있습니다. 안에 뭐가 들어 있니? – Karakuri
@ Karakuri 여기에 넣는 것을 잊어 버렸지만 추가했습니다. 코드에있는 Log.d()를 인쇄 할 때 조각 (Fragment)에 유효한 값이 있지만 작업 (No)에 아무 것도 표시되지 않습니다. – porthfind
'mCallback'이 _assigned_에 추가되지 않았습니다. _declared_가있는 위치 만 추가했습니다. 나는'mCallback = {something}' – Karakuri