2014-12-20 3 views
0

Я нахожусь на ранних стадиях разработки приложения, которое будет иметь одну активность с 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» для активности или неправильного оператора импорта. Я не считаю, что это моя проблема. Буду признателен за любые рекомендации по этому вопросу. Благодарю.

ответ

0

Поскольку вы используете классы фрагментов из библиотеки поддержки, убедитесь, что ваш класс Splash расширяет класс фрагмента библиотеки поддержки (файл android.support.v4.app.Fragment). Возможно, вы импортировали файл android.app.Fragment.

+0

Вышеуказанный ответ решил проблему. Я изменил строку в разделе импорта моего Splash.java из файла android.app.Fragment в файл android.support.v4.app.Fragment. Спасибо. – weste2533

Смежные вопросы