我的班级有问题,但是当我运行它在我的手机上使用有线电脑到Android工作室运行良好,但是当我生成签名的apk然后我得到类错误如下
Error:Error: This fragment inner class should be static (app.browser.HomeActivity.MyWebBrowser) [ValidFragment]
我无法更改类静态,因为当我把静态这个子类上下文显示错误时,所以请帮我回答这个问题我想在生成签名apk时禁用此错误。请有人建议我。
我的代码..
public class HomeActivity extends FragmentActivity implements ActionBar.TabListener {
private ActionBar.Tab iTab;
static String TAB_TITLE="Untitle";
private ViewPager viewPager;
static TabsPageAdapter mAdapter;
static android.app.ActionBar actionBar;
Context context;
Button btNewtab,btCloseTab,btTabCount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
context=HomeActivity.this;
objectReferences();
createDir();
actionBar =getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.hide();
mAdapter = new TabsPageAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
viewPager.setOffscreenPageLimit(500);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
// mAdapter.notifyDataSetChanged();
PAGE_CURRENT=i;
System.out.println("CURRENT PAGE DISCRIPTION : "+PAGE_CURRENT);
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
// _________________ TABS实施方法__________________________
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
public class TabsPageAdapter extends FragmentStatePagerAdapter {
public TabsPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return new MyWebBrowser();
}
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
@Override
public int getCount() {
return COUNT_TAB;
}
}
//____________________________________________
//_____________BROWSER CLASS____________________
//____________________________________________
public class MyWebBrowser extends Fragment implements View.OnClickListener,View.OnLongClickListener{
View rootView;
@SuppressLint("AddJavascriptInterface")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.my_web_browser, container, false);
return rootView;
}
}
听听我因个人原因删除我的内容,请向我推荐一下,谢谢你们
答案 0 :(得分:4)
我认为您应该尝试在build.gradle中添加以下脚本。 (必须写在android {}标签中)
lintOptions {
abortOnError false
}
当你的发布版本通过lint生成错误时,构建任务不会中止。
答案 1 :(得分:0)
好的,首先你可以尝试将你的类更改为statci - Public class MyClass --> Public static class MyClass
或者你可以转到你的eclipse设置然后转到lint首选项然后取消选中它所写的标记,以便在导出时完全检查错误。或者你可以像静态一样去除你的FragmentActivity。但是我建议你不要扩展任何其他东西而只是扩展活动,然后实现其余部分并在MainActivity.Hope中声明FragmentActivity,这会有所帮助。
答案 2 :(得分:0)
最后我解决了错误,只是添加了如下脚本并最好地考虑了Bill。
lintOptions {
abortOnError false}
在android {
下}
感谢所有给我回答的人