我收到了一个错误
show(FragmentManager, String)类型中的方法DialogFragment不适用于参数(FragmentManager, String)
package com.example.test1;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View view) {
DialogFragment newFragment = new FireMissilesDialogFragment();
newFragment.show(getFragmentManager(), "missiles");
}
public boolean onCreateOtionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
Ego*_*gor 50
在您使用时android.support.v4.app.DialogFragment,您应该传递给可以使用呼叫查询show()的实例.希望这可以帮助.android.support.v4.app.FragmentManagergetSupportFragmentManager()
小智 30
问题是因为你需要使用支持包的FragmentManager,但是在调用getFragmentManager()时你正在使用本机FragmentManager.在初始化变量fm时尝试调用getSupportFragmentManager()
您还必须确保从支持包中包含DialogFragment,而不是从本机包中包含.
你可以通过导入,
import android.support.v4.app.DialogFragment;
Run Code Online (Sandbox Code Playgroud)
sur*_*udi 19
即使我在姜饼中运行代码时遇到了同样的问题.但对ICS工作正常.解决方案是,
而不是这个:
public class MainActivity extends Activity {
}
Run Code Online (Sandbox Code Playgroud)
使用extends FragmentActivty
public class MainActivity extends FragmentActivity {
}
Run Code Online (Sandbox Code Playgroud)
你应该使用android.support.v4.app.FragmentManager而不是android.app.FragmentManager.
然后你应该打电话getSupportFragmentManager()但不打电话getFragmentManager()
| 归档时间: |
|
| 查看次数: |
29405 次 |
| 最近记录: |