我正在尝试按照此方法为我的应用程序获取Material Design .
每当我运行App时,它都会显示以下错误:
扩展类android.support.v7.widget.Toolbar时出错.
我检查了我是否正确添加了appcompat.但这对我来说都是正确的.那么请告诉我,我做错了什么?
的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.0.2'
defaultConfig {
applicationId "io.bxbxbai.feedlistviewdemo"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles 'proguard-rules.pro'
}
}
}
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':materialDesign')
compile 'com.balysv.materialmenu:material-menu:1.4.0'
compile 'com.android.support:appcompat-v7:21.+'
}
Run Code Online (Sandbox Code Playgroud)
logcat的
02:11.641 20583-20583/io.bxbxbai.feedlistviewdemo E/AndroidRuntime? FATAL EXCEPTION: main
Process: io.bxbxbai.feedlistviewdemo, PID: 20583
java.lang.RuntimeException: Unable to start activity …
Run Code Online (Sandbox Code Playgroud) 我有一个Navigation Drawer
应该出现在我的所有活动中.
我看到了许多与此相似的问题,并找到了像使用其他活动扩展MainActivity的解决方案.
所以我将我的主要活动扩展到我的第二个活动.但抽屉没有在第二个活动中显示
主要活动
public class MainActivity extends ActionBarActivity
{
private ListView mDrawerList;
private DrawerLayout mDrawer;
private CustomActionBarDrawerToggle mDrawerToggle;
private String[] menuItems;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
supportRequestWindowFeature(WindowCompat.FEATURE_ACTION_BAR);
// getSupportActionBar().hide();
setContentView(R.layout.activity_main_drawer);
// enable ActionBar app icon to behave as action to toggle nav drawer
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
// set a custom shadow that overlays the main content when the drawer
// opens
mDrawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
_initMenu();
mDrawerToggle = new CustomActionBarDrawerToggle(this, mDrawer);
mDrawer.setDrawerListener(mDrawerToggle);
} …
Run Code Online (Sandbox Code Playgroud) 我需要在swift中缓存来自API的json数据.所以我研究了很多并获得了这篇文章.
我试图在我的应用程序中实现选项1.但是自定义管理器总是返回零.我不知道为什么?
之后我得到了AwesomeCache.它说这是一个很棒的API缓存.但我不知道如何实现这个?我提到了这个问题.我仍然想不通.
这是我的Current实现在没有缓存的情况下的外观:
Alamofire.request(.GET, "http://api.androidhive.info/volley/person_array.json")
.responseJSON { (_, _, data, _) in
let json = JSON(data!)
let catCount = json.count
for index in 0...catCount-1 {
let name = json[index]["name"].string
println(name)
}
Run Code Online (Sandbox Code Playgroud)
请建议我从API缓存JSON的最佳方法?
提前致谢!
UPDATE
这些是我的要求
从API获取JSON并解析JSON数据.这些可以在Alamofire和SwiftyJSON的帮助下完成
我将在表视图中填充解析的数据.它适用于用户在线时.
但我想在用户处于离线状态时显示表中的数据.
所以我需要在我的缓存中保存解析数据或JSON数据,我需要在一周或几天内刷新或过期缓存.
我不喜欢将JSON存储在我的磁盘中,因为它会被更新.
请建议我实现这个目标的最好方法......
我正在使用MPMoviePlayerController
我的应用程序播放视频.现在我需要添加一些自定义按钮,如"Next Track"或"Previous Track",并删除一些不需要的按钮 -
添加按钮后,我必须为每个按钮提供操作.
我怎样才能在swift中实现这一目标?
func Player(url :NSURL){
moviePlayer = MPMoviePlayerController(contentURL: url)
self.view.addSubview(moviePlayer.view)
moviePlayer.fullscreen = true
moviePlayer.controlStyle = MPMovieControlStyle.Fullscreen
}
Run Code Online (Sandbox Code Playgroud) 我通过Android Studio从Github克隆了一个Repository.我对代码进行了一些更改,然后提交并推送没有问题.今天,我对代码做了一些修改.我承诺了,但当我试图推动它时,它说
不能推,因为没有定义遥控器
谢谢你的帮助..
我正在使用Eclipse,我将appcompat lib添加到我的项目中,并且突然间R.java文件没有生成.但是在我的控制台中,只要我清理项目,它就会显示出来.
[2014-11-02 18:50:16 - Client] G:\ProgramZ\workspace\android-support-v7-appcompat\res\values-v21\styles_base.xml:79: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton.CloseMode'.
[2014-11-02 18:50:16 - Client]
[2014-11-02 18:50:16 - Client] G:\ProgramZ\workspace\android-support-v7-appcompat\res\values-v21\styles_base.xml:83: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton.Overflow'.
[2014-11-02 18:50:16 - Client]
[2014-11-02 18:50:16 - Client] G:\ProgramZ\workspace\android-support-v7-appcompat\res\values-v21\styles_base.xml:25: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionBar.TabView'.
[2014-11-02 18:50:16 - Client]
[2014-11-02 18:50:16 - Client] G:\ProgramZ\workspace\android-support-v7-appcompat\res\values-v21\styles_base.xml:29: error: …
Run Code Online (Sandbox Code Playgroud) 我正在使用导航抽屉ActionBarCompact
来支持所有设备.它在Android 4.4和4.2设备上按预期工作.但是当我在Android 2.3设备中检查它时,它会显示抽屉.但是当我滚动抽屉时,抽屉的背景从黑色变为白色,并在滚动后返回.我不知道,为什么会这样.
我在此存储库中使用了代码:
https://github.com/gabrielemariotti/androiddev/tree/master/ActionBarCompatEclipse/
注意
它适用于Android 4.4和4.2设备.
android android-listview navigation-drawer android-styles android-actionbar-compat
嘿,我刚刚将我的应用程序升级到AppCompat v22.1.0并得到了这个例外
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案.这里/sf/answers/2085305001/
问题仍未解决,因为我在ConnectionWifiEditActivity
类中的super.onCreate之后调用了setContentView .
当我改变它时,它会抛出NullPointerException
我如何解决这个问题?
Caused by: java.lang.NullPointerException
at Client.Activity.connection.ConnectionEditActivity.onResume(ConnectionEditActivity.java:46)
at Client.Activity.connection.ConnectionWifiEditActivity.onResume(ConnectionWifiEditActivity.java:81)
Run Code Online (Sandbox Code Playgroud)
ConnectionWifiEditActivity
public class ConnectionWifiEditActivity extends ConnectionEditActivity implements OnClickListener
{
private ConnectionWifi connection;
private EditText host;
private EditText port;
Button scan;
ListView lv;
private Toolbar mToolbar;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.connectionwifiedit);
lv = (ListView) findViewById(android.R.id.list);
this.connection = (ConnectionWifi) connectionParam;
mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar); …
Run Code Online (Sandbox Code Playgroud) 每当我使用 Edit Test 库运行应用程序时,它都会显示UNEXPECTED TOP-LEVEL EXCEPTION:
Error:Execution failed for task ':mobile:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
E:\Android\me\me\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\dex\debug --input-list=C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Run Code Online (Sandbox Code Playgroud)
我假设上面的错误表明com.nineoldandroids
添加了两次或冲突。
所以我试图在 build.gradle 文件中删除它。但它仍然显示错误!
我的假设是对的吗?还是我在其他地方出错了?
构建.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2" …
Run Code Online (Sandbox Code Playgroud) 下面的程序抛出NullPointerException.在Log cat中显示:
01-09 20:40:34.366: D/RemoteIt(2809): java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
单击该按钮时,它不会转到Mousefragment类.我试图解决它,但我不能 - 如何解决这个问题?
public class connect extends ListActivity implements OnClickListener{
WifiApManager wifiApManager;
TextView tv;
Button ipscan,con;
ListView lv;
EditText tbIp;
private static final String TAG = "RemoteIt";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.connect);
tv =(TextView) findViewById(R.id.iptv);
ipscan=(Button) findViewById(R.id.scan);
con=(Button) findViewById(R.id.connect);
tbIp=(EditText) findViewById(R.id.etIp);
ipscan.setOnClickListener(this);
con.setOnClickListener(this);
lv = getListView();
}
class scan extends AsyncTask<Void, Void, ArrayList<ClientScanResult>>{
public Context context;
public scan(Context c) // constructor to take Context
{
context …
Run Code Online (Sandbox Code Playgroud) 我按照这种方法为项目添加了一个外部库
.并尝试了这种方法也是这种方法.Gradle构建完成了,我把这一行添加到了我的build.gradle
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.1'
Run Code Online (Sandbox Code Playgroud)
现在我import
在课堂上尝试这个库.但我不能这样做.我查看了文件,它们位于构建目录下exploded-aar
.所以我添加@aar
到编译行.仍然没有变化.
如何将此库导入我的班级或我错在哪里?
提前致谢