相关疑难解决方法(0)

带有Theme.AppCompat的Robolectric 3.3

我使用的Robolectric 3.3测试AppCompatActivitycom.android.support:appcompat-v7:23.4.0
我后:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Run Code Online (Sandbox Code Playgroud)

我创建了以下测试运行器:

public class ActivityTestRunner extends RobolectricTestRunner {

    public ActivityTestRunner(Class<?> testClass) throws InitializationError {
        super(testClass);
    }

    @Override
    protected AndroidManifest getAppManifest(Config config)
    {
        return new AppManifest(Fs.fileFromPath(config.manifest()),
                Fs.fileFromPath(config.resourceDir()),
                Fs.fileFromPath(config.assetDir()));
    }

    private class AppManifest extends AndroidManifest
    {
        private static final String THEME = "@style/Theme.AppCompat";


        public AppManifest(FsFile androidManifestFile, FsFile resDirectory, FsFile assetsDirectory) {
            super(androidManifestFile, resDirectory, assetsDirectory);
        }

        public AppManifest(FsFile androidManifestFile, FsFile resDirectory, FsFile assetsDirectory, …
Run Code Online (Sandbox Code Playgroud)

android robolectric

5
推荐指数
1
解决办法
1160
查看次数

java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或后代)

我试图运行我的Android应用程序时收到此错误.

奇怪的是:它只发生在Android应用程序与Jenkins一起构建(和签名)时.

当我使用eclipse的本地apk文件并将其推送到我的设备(或模拟器)时,一切正常

有任何想法吗?

编辑:AndroidManifest.xml

<application
    android:name="at.my.test.App"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyActionBarTheme" >
    <activity
        android:name="SplashActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="LoginActivity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateHidden" >
    </activity>
    <activity
        android:name="MyFirstActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="MySecondActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="MyThirdActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="WebActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="ErrorActivity"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
    </activity>
</application>  
Run Code Online (Sandbox Code Playgroud)

而themes.xml文件:

<style name="MyActionBarTheme" parent="@style/Theme.AppCompat">

    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/ic_up_arrow</item>
    <item name="android:windowActionBar">true</item>
    <item name="android:windowBackground">@android:color/white</item>
    <item name="android:windowContentOverlay">@null</item>

    <!-- Support library compatibility -->
    <item …
Run Code Online (Sandbox Code Playgroud)

java android android-appcompat jenkins

3
推荐指数
1
解决办法
1万
查看次数

错误您需要在活动中使用Theme.AppCompat主题(或后代)

我正在使用anroid应用程序,因为它在黑暗的操作栏中可以正常运行,但是当我将其更改为无操作栏时,应用崩溃并在logcat中显示此错误。

Logcat错误

我对样式和xml文件进行了更改,但仍然存在相同的问题。当我再次显示“黑暗”操作栏时,它开始正常工作。

我研究过的链接

链接1

这是我的风格文件

<resources>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">@color/colorText</item>
    <item name="android:textColorHint">@color/colorText</item>
    <item name="colorControlNormal">@color/colorText</item>
    <item name="colorControlActivated">@color/colorText</item>
</style>
Run Code Online (Sandbox Code Playgroud)

<resources>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是清单文件

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".activities.SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activities.WelcomeActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.LoginActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.RegisterActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.UsersListActivity"
        android:screenOrientation="portrait" />
</application>
Run Code Online (Sandbox Code Playgroud)

performance android runtime-error logcat android-studio

3
推荐指数
1
解决办法
342
查看次数

Android - 如何以编程方式创建FAB?

我有一个充满自定义视图的应用程序.当我尝试以编程方式创建FAB时,它会抛出错误

引起:java.lang.IllegalArgumentException:您需要将Theme.AppCompat主题(或后代)与设计库一起使用.

这是我的代码.

private FloatingActionButton getFAB() {
    FloatingActionButton fab = new FloatingActionButton(getContext());
    fab.setBackgroundDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_add_white_24dp));
    return fab;
}
Run Code Online (Sandbox Code Playgroud)

这是我的应用主题.

    <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>
Run Code Online (Sandbox Code Playgroud)

请帮我.

java android floating-action-button

2
推荐指数
1
解决办法
4430
查看次数

“您需要在此活动中使用Theme.AppCompat主题(或后代)。”

我是Android编程的新手,并且遇到了一个简单的XML问题。我正在尝试将我的空活动之一变成全屏活动。我尝试将这行代码android:theme =“ @ android:style / Theme.NoTitleBar.Fullscreen”添加到我的android清单文件中,最终导致我的应用在启动时崩溃。

如果这也有帮助,则受影响活动的Java文件扩展了AppCompatActivity。我看到其他一些帖子提到这会造成问题,但是我无法解决我的问题。

请帮助我解决此问题,同时仍使活动全屏显示。任何帮助表示赞赏。谢谢!

XML格式

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat.Light">
    <activity android:name=".MainActivity"
        android:label="Marks Calculator">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.APP_CALCULATOR" />
        </intent-filter>
    </activity>
    <activity android:name=".Home_Activity"
        android:label="Finite Time Manager">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Welcome_Activity"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

错误日志

12-22 12:21:30.214 32475-32475/com.managergmail.time.finite.finitemanager02 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.managergmail.time.finite.finitemanager02, PID: 32475
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.managergmail.time.finite.finitemanager02/com.managergmail.time.finite.finitemanager02.Welcome_Activity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat …
Run Code Online (Sandbox Code Playgroud)

java android

2
推荐指数
1
解决办法
1万
查看次数

找不到与给定名称匹配的资源'@android:style/Widget.AppCompat.Light.ActionBar.Solid.Inverse'

对不起我的英语不好.我尝试改变动作栏collor.我有这个错误:

错误:检索项目的父项时出错:找不到与给定名称"@android:style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"匹配的资源.

我有minSdkVersion = 12

style.xml

    <resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
         <item name="android:actionBarStyle">@style/MyActionBar</item>

      </style>

//this is error
      <style name="MyActionBar" parent="@android:style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
         <item name="android:background">#FF9D21</item> 
      </style> 
     </resources>
Run Code Online (Sandbox Code Playgroud)

UPD

我添加了appcompat_v7,但它不起作用

在此输入图像描述

UPD

现在style.xml看起来:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
             <item name="android:actionBarStyle">@style/MyActionBar</item>

          </style>


          <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
             <item name="android:background">#FF9D21</item> 
          </style> 
Run Code Online (Sandbox Code Playgroud)

在清单中:

android:theme="@style/MyTheme" >
Run Code Online (Sandbox Code Playgroud)

我有错误:

03-05 12:45:33.860:E/AndroidRuntime(2006):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.test6/com.example.test6.MainActivity}:java.lang.IllegalStateException:You需要在此活动中使用Theme.AppCompat主题(或后代).

如果我改变那样的清单:

android:theme="@style/Theme.AppCompat" >
Run Code Online (Sandbox Code Playgroud)

没有错误,但在此之后没有更改颜色操作栏

xml android styles android-manifest

1
推荐指数
1
解决办法
7059
查看次数

如何使用多种工具?

我正在使用Android Studio制作App。

我有一个

public class MainActivity extends Activity implements View.OnClickListener, OnCheckedChangeListener
Run Code Online (Sandbox Code Playgroud)

而且我需要在MainActivity中添加“ AppCompatActivity”。

我在Internet上进行了搜索,发现只有一个可以用于扩展。

所以我改为

public class MainActivity extends Activity implements View.OnClickListener, OnCheckedChangeListener, AppCompatActivity
Run Code Online (Sandbox Code Playgroud)

这和AppCompatActivity有一个错误,“此处需要接口”。

我怎么解决这个问题?

android implements

-1
推荐指数
1
解决办法
61
查看次数

Android 应用程序崩溃 - 原因未知

我是初学者,一直在使用树屋来学习。我在课程的早期阶段,当我启动应用程序时突然开始收到崩溃消息。我不确定发生了什么。我已经发布了我所知道的一切。抱歉,如果我错过了某些内容或发布了太多内容。

主要的:

package com.example.crystalball;

import android.R.string;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
private CrystalBall mCrystalBall = new CrystalBall();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Declare our View variables
    final TextView answerLabel = (TextView) findViewById(R.id.textView1);
    Button getAnswerButton = (Button) findViewById(R.id.button1);

    getAnswerButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            String answer = mCrystalBall.getAnAnswer();

            // Update label with dynamic answer
            answerLabel.setText(answer);
        }
    });
}


@Override …
Run Code Online (Sandbox Code Playgroud)

crash android

-3
推荐指数
1
解决办法
513
查看次数