Я нахожусь на ранних стадиях разработки приложения, которое будет иметь одну активность с 4 фрагментами, перемещаемыми путем прокрутки. В настоящее время все, что я пытаюсь сделать, это получить активность для загрузки/отображения первого фрагмента Splash. Я добавил фрагмент к активности в main.xml, как показано ниже.Ошибка с фрагментами в Android-разработке
main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.cdw.ddb.Splash"
android:id="@+id/splashfrag"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
MainActivity.java
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Check that the activity is using the layout version with
// the fragment_container FrameLayout
if (findViewById(R.id.splashfrag) != null) {
// However, if we're being restored from a previous state,
// then we don't need to do anything and should return or else
// we could end up with overlapping fragments.
if (savedInstanceState != null) {
return;
}
// Create a new Fragment to be placed in the activity layout
Splash fragment = new Splash();
// In case this activity was started with special instructions from an
// Intent, pass the Intent's extras to the fragment as arguments
fragment.setArguments(getIntent().getExtras());
// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager()
.beginTransaction()
.add(R.id.splashfrag, fragment)
.commit();
}
}
Я получаю сообщение об ошибке:
Не удается разрешить метод «добавить (ИНТ com.cdw.ddb.Splash) '
по этой линии
.add (R.id.splashfrag, фрагмент)
Из поиска в Интернете кажется, что наиболее распространенные проблемы, связанные с этим, не объявляют «extends FragmentActivity» для активности или неправильного оператора импорта. Я не считаю, что это моя проблема. Буду признателен за любые рекомендации по этому вопросу. Благодарю.
Вышеуказанный ответ решил проблему. Я изменил строку в разделе импорта моего Splash.java из файла android.app.Fragment в файл android.support.v4.app.Fragment. Спасибо. – weste2533