2017-03-16 14 views
0

私はかなり新しいコーディングをしていますが、どこにでも見えましたが、正しく表示されていない可能性があります。プレースホルダに問題があります。フラグメントマネージャは、ここでは、v7のサポートであるフラグメントとgetFragmentManagerとバージョンの互換性

Error:(21, 32) error: no suitable method found for add(int,ListFragment) 
method FragmentTransaction.add(Fragment,String) is not applicable 
(argument mismatch; int cannot be converted to Fragment) 
method FragmentTransaction.add(int,Fragment) is not applicable 
(argument mismatch; ListFragment cannot be converted to Fragment) 

あることのためのサポートかどうかを持っていることがわからない私のコードは、私はあなたがサポートのために代わりにgetSupportFragmentManagerを使うべきだと思う

package chris.smellslikebacon; 




import android.app.FragmentManager; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.Toast; 

public class MainActivity extends AppCompatActivity implements   ListFragment.OnRecipeSelectedInterface { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListFragment savedFragment = (ListFragment) getSupportFragmentManager().findFragmentById(R.id.placeholders); 
    if(savedFragment == null) { 
     ListFragment fragment = new ListFragment(); 
     FragmentManager fragmentManager = getFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     fragmentTransaction.add(R.id.placeholders, fragment); 
     fragmentTransaction.commit(); 
    } 
} 
@Override 
public void onListRecipeSelected(int index) { 
Toast.makeText(MainActivity.this, Recipes.names[index],  Toast.LENGTH_SHORT).show(); } 
} 
+0

問題を解決しましたか? – Cochi

答えて

0

です:

FragmentManager fragmentManager = getSupportFragmentManager(); 

これが役に立ちます。

関連する問題