好吧,我的代码中有一点问题。
public class MenuFragment extends SherlockListFragment {
正在扩展Sherlock jar,当我运行我正在获取的代码时,它应该允许我在Fragment中使用Action bar
Caused by: java.lang.IllegalStateException: MenuFragment must be attached to a SherlockFragmentActivity.
所以我改变了我的延伸
public class MainActivity extends ActionBarActivity {
到
public class MainActivity extends SherlockFragmentActivity{
运行代码但现在我的操作栏不再可见了
My Fragment Class,
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
return view;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_main, menu);
}
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item){
switch (item.getItemId()) {
case R.id.shuffle:
return true;
case R.id.quit:
return true;
default:
return false;
}
}
正在导入
import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
主要
public class MainActivity extends ActionBarActivity {
SongAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
答案 0 :(得分:0)
嗯而不是你的
MainActivity扩展了ActionBarActivity
只需使用
MainActivity extends SherlockFragmentActivity {
//you code for fragment goes here
}
无论你使用什么片段,你都需要使用SherlockFragment,如果是Activity,我们在这里有SherlockActivity。所以其他任何东西都不匹配。
按照以下链接,您将了解如何使用Sherlock Library: https://guides.codepath.com/android/ActionBar-Tabs-with-Fragments
如果有帮助请告诉我。