2017-03-16 53 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) 

這裏是我的代碼

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

我認爲你應該使用getSupportFragmentManager而不是支持:

FragmentManager fragmentManager = getSupportFragmentManager(); 

希望這有助於。