正在尝试将在(appcompat v20)中制作的应用程序移动到新库中
使用:
appcompat-v7:20
工作很好
我做到了:
ActionBarActivity implements ActionBar.TabListener, ActionBar.OnNavigationListener
还有这个:
android.view.InflateException:二进制XML文件行#17:错误inflating类android.support.v7.internal.widget.ActionBarOverlayLayout
对android类进行充气时出错。支持v7.内部。小装置。ActionBarView
这是工作代码。。。copmactv7_api5使用。。。其他步骤相同
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity implements
ActionBar.TabListener {
AppSectionsPagerAdapter mAppSectionsPagerAdapter;
ViewPager mViewPager;
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.admin_main_tab);
// Create the adapter that will return a fragment for each of the three
// primary sections
// of the app.
mAppSectionsPagerAdapter = new AppSectionsPagerAdapter(
getSupportFragmentManager());
// Set up the action bar.
final ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Set up the ViewPager, attaching the adapter and setting up a listener
// for when the
// user swipes between sections.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mAppSectionsPagerAdapter);
mViewPager
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// When swiping between different app sections, select
// the corresponding tab.
// We can also use ActionBar.Tab#select() to do this if
// we have a reference to the
// Tab.
actionBar.setSelectedNavigationItem(position);
}
});
// For each of the sections in the app, add a tab to the action bar.
for (int i = 0; i < mAppSectionsPagerAdapter.getCount(); i++) {
// Create a tab with text corresponding to the page title defined by
// the adapter.
// Also specify this Activity object, which implements the
// TabListener interface, as the
// listener for when this tab is selected.
actionBar.addTab(actionBar.newTab()
.setText(mAppSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
}
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the primary sections of the app.
*/
public static class AppSectionsPagerAdapter extends FragmentPagerAdapter {
public AppSectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
return new AdminSettings();
default:
Fragment fragment = new AdminSettings();
return fragment;
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
return "Section " + (position + 1);
}
}
@Override
public void onTabReselected(Tab arg0,
android.support.v4.app.FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab,
android.support.v4.app.FragmentTransaction arg1) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab arg0,
android.support.v4.app.FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
}
这个问题比看起来要深刻得多。
我的代码是正确的。该主题中的所有建议都是相关且正确的。
事实证明,外部库包含旧版本的support-v4,它不支持材料设计(appcompat-v7:21),而只支持appcompat-v7:20
这是ActionBar()InflateException错误inflating类的原因。
在所有外部库中更新support-v4将解决此问题。
我的身材。gradle在其他主题中:
多个dex文件定义Landroid/support/v4/。
要使用新的appcompat v21,您必须:
编辑:2015年4月23日
使用新的appcompat v22.1
,您应该使用新的AppCompatActive
而不是ActionBaractive
还有ActionBar。TabListener,ActionBar。OnNavigationListener:不推荐使用操作栏导航模式,内联工具栏操作栏不支持这些模式。考虑改用其他常见的导航模式。
源文档:https://developer.android.com/reference/android/support/v7/app/ActionBar.html#addTab(android.support.v7.app.ActionBar.Tab)
这是我的activity_login:
在尝试为Android使用新的时发生崩溃,并希望分享我的解决方案。 在android appcompat库中尝试新的TextInputField会使我的应用程序崩溃。这是我的布局xml。 我的错误是: 解决方案:将属性添加到,使lead标签如下所示:
我正在努力升级我的gradle。当我将appcompat从1.0.2更新到1.1.0时,我的网络视图在某些手机上不再可用。(api 21和22)<有没有一种聪明的方法可以升级到1.1.0并且仍然让webview工作。 我得到了一个“android.view.InflateException:二进制XML文件行#1:错误inflating类”。我试图找到一种方法来更新我的模拟器上的webview。但
我正在尝试嵌入浮动操作按钮。下面是我的xml文件 问题是Im会收到以下错误消息, Android.View.InflateException:二进制XML文件行#300:在Android.View.LayoutInflater.CreateView(LayoutInflater.CreateViewFromTag(LayoutInflater.java:702)在Android.View.Layo
我有一个非常令人沮丧的错误,我无法解释。我创建了一个Android应用程序,使用Android AppCompat使其与旧版本兼容。这是我的主要活动布局文件:{Androidx}。 这是我的java文件: 这是我的xml文件: 这是我的gradle文件 }gradle文件中的依赖项 } 主要问题是我的应用程序说,不幸的是,应用程序已经停止。以下是“运行”选项卡中的详细信息 D/skia:-缩放位图
是否有一个隐藏在Internet中的ByteBuffers方面的gzip放气库?允许我们推送原始数据然后提取放气数据的东西?我们已经搜索过了,但只找到了处理InputStreams和OutputStreams的库。 我们的任务是创建gzip过滤器,用于在管道架构中减少字节缓冲流。这是一个pull架构,其中最后一个元素从早期元素中提取数据。我们的gzip过滤器处理字节缓冲流,没有单个流对象可用。 我