Вот мой основной:
package com.example.frags;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
public class NewMessage extends FragmentActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.new_message);
//Set new fragment
FragA fragA = new FragA();
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.add(R.id.container_id, fragA);
transaction.commit();
}
}
Мой класс FragA:
package com.example.frags;
import android.os.Bundle;
import android.text.style.SuperscriptSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class FragA extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.choose_pill_frag, container, false);
}
}
Эта проблема очень похожа на проблему, с которой я столкнулся несколько дней назад, но Я применяю это решение к этому приложению, и я все еще не могу заставить его работать.
Я получаю красную линию под .add
с сообщением The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, fragA)
Это усугубляет ситуацию, потому что в другом примере приложения я написал этот код. Который выглядит идентично, но это работает!
FragA
класс, держу пари, вы забыли импортировать в негоandroid.support.v4.app.Fragment;
- person Barak   schedule 29.07.2012