标签: android-actionbaractivity

startActionMode,appcompat出错

SherlockActionBar在我的应用程序中使用,但在我开始使用appcompat之后.并得到错误

" startActionMode(ActionMode.Callback)Activity类型中的方法不适用于参数(PageFragment.ActionModeCallback)"

在原始

   mActionMode = getActivity().startActionMode(new ActionModeCallback());
Run Code Online (Sandbox Code Playgroud)

请帮助我,我做错了什么?

android android-appcompat android-actionbar contextual-action-bar android-actionbaractivity

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

ActionBar未显示进度条

我有WebView,我想在WebView中加载页面,在ActionBar中显示进度.该应用程序正在使用AppCompat Android库和应用程序的目标,并且编译SDK版本为21.只是WebView正常运行.

我觉得这个方法有问题setSupportProgress(int progress).

我的代码如下.

活动:

public class AuthActivity extends ActionBarActivity {

private boolean isConfirmationRequired = false;
private Utils utils = new Utils();

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    supportRequestWindowFeature(Window.FEATURE_PROGRESS);
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_auth);

    final String authUrl = "some url";
    final WebView authWebView = (WebView) findViewById(R.id.auth_web_view);
    authWebView.getSettings().setJavaScriptEnabled(true);
    authWebView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            setTitle(R.string.loading);
            setSupportProgress(newProgress * 100);

            if (newProgress == 100)
                setTitle(R.string.sign_in);
        }
    });

    authWebView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, …
Run Code Online (Sandbox Code Playgroud)

android webview android-actionbar android-support-library android-actionbaractivity

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

向活动添加工具栏会导致NoClassDefFoundError

我正在尝试为活动添加工具栏.但是我收到了这个错误:

     java.lang.NoClassDefFoundError: android.support.v7.app.ActionBarActivityDelegateBase$2
        at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:304)
        at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:225)
        at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
        at com.loqooapps.Startup.Startup.onCreate(Startup.java:198)
        at android.app.Activity.performCreate(Activity.java:5933)
Run Code Online (Sandbox Code Playgroud)

活动扩展了一个Base活动,而在Base活动中,我扩展了ActionBarActivity.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    setContentView(R.layout.startup);
    ButterKnife.inject(this);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    if(toolbar != null) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("DEMO");
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
    baseApp = (App) this.getApplicationContext();
    yumeInterface = YuMeInterface.getYuMeInterface();
    yumeInterface.setHomeView(this);
    boolean bInitSuccess = yumeInterface.initYuMeSDK();
    if (!bInitSuccess) {
        Log.e(TAG, "Error Initializing YuMe SDK.");
    }
 }

 public abstract class MyBaseActivity extends ActionBarActivity{...}
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:appcompat-v7:21.0.1'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
Run Code Online (Sandbox Code Playgroud)

这是我的xml:

 <android.support.v7 …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-support-library android-actionbaractivity android-toolbar

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

如何将ActionBar添加到已扩展ListActivity的活动中?

我有一个活动延伸ListActivity.
我可以添加一个ActionBar没有延伸ActionBarActivity

android android-actionbar android-actionbaractivity

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

Android:片段的 onOptionsItemSelected 不会被调用

我有一个 ActionBarActivity 和一个 Fragment。Activity 没有膨胀的菜单,而 Fragment 有一个带有两个按钮的菜单。片段菜单可见,但按钮在点击时根本没有反应。在调试时,我可以看到 Fragment 和 Activity 的 onCreateOptionsMenu() 都被调用,但是当点击按钮时,没有 onOptionsItemSelected() 被调用,无论是从 Activity 还是从 Fragment。

活动

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

分段

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mainActivity = (NavigationActivity)getActivity();

    setHasOptionsMenu(true);
}

 @Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState){
    return (ScrollView) inflater.inflate(R.layout.tutoring_detail, container, false);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.query_details_menu, menu);

    super.onCreateOptionsMenu(menu, inflater); …
Run Code Online (Sandbox Code Playgroud)

android android-menu android-fragments android-actionbaractivity

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

如何从SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION中恢复?

这个问题实际上是在更复杂的情况下出现的,涉及方向变化和纵向和横向布局的变化,但是在最小版本中,问题是这样的:

我们想在“常规”和“全屏”布局之间来回切换,即:

  • 一种布局,其中内容仅占据导航栏和状态栏内部的空间
  • 一种布局,内容占据整个屏幕,并在导航栏和状态栏下滑动

要将屏幕从正常模式切换到全屏模式,我们使用:

public static final int EXPAND_FLAGS = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;

getWindow().getDecorView().setSystemUiVisibility(EXPAND_FLAGS);
Run Code Online (Sandbox Code Playgroud)

为了切换回去,我们尝试了:

public static final int SHRINK_FLAGS = View.SYSTEM_UI_FLAG_VISIBLE;

getWindow().getDecorView().setSystemUiVisibility(SHRINK_FLAGS);
Run Code Online (Sandbox Code Playgroud)

所以,从这个

应用启动后的布局

我们首先对此“扩展”:

单击“展开”后的布局

但是“缩小”后部不起作用:

“展开”和“缩小”之后的布局

因此,似乎虽然仅允许Activity在系统UI内进行绘制,但它仍然“认为”它应该为系统UI留出空间。

所以我的问题是:SHRINK_FLAGS上面的代码应该包含什么?或者应该完全不同地做什么?

我们正在使用AppCompatActivity带有Theme.AppCompat.Light.DarkActionBar主题的。

android android-layout android-actionbar-compat android-actionbaractivity

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

如何在API级别8+中支持searchItem.setOnActionExpandListener?

我正在使用ActionBarActivity,如何在API级别8+中支持searchItem.setOnActionExpandListener?它表示最低API级别14是必需的.

下面是我的代码,目前我正在抑制错误并仅在API> = 14时允许代码执行.

@SuppressLint("NewApi")
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.action_bar_home_screen, menu);
    searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat
                .getActionView(searchItem);

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            searchItem.setOnActionExpandListener(new OnActionExpandListener() {

                @Override
                public boolean onMenuItemActionExpand(MenuItem item) {
                    hideProgressBar();
                    return true;
                }

                @Override
                public boolean onMenuItemActionCollapse(MenuItem item) {
                    showProgressBar();
                    selectItem(lastSelectedItemPosition);
                    return true;
                }
            });
        }
}
Run Code Online (Sandbox Code Playgroud)

android searchview android-support-library android-actionbar-compat android-actionbaractivity

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

Android上部复制/粘贴工具栏

我需要你的帮助以解决android dev中的以下问题.出于某种原因,当我扩展ActioBarActivity时,当我按下EditText组件时,剪切/复制/粘贴按钮会正确显示(见图1).

在此输入图像描述

不幸的是,如果我扩展Activity,工具栏将无法正确显示.您可以在图像2上看到按钮存在,但它们是白色的,用户无法看到它们.我已经调查过,但我不确定如何解决这个问题.

在此输入图像描述

如果你需要我可以分享代码,但我认为这可以很容易地再现.

提前致谢.

保罗

android android-layout android-theme android-activity android-actionbaractivity

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

使用Feinstein SldingMenu和AppCompat v21的Android L ActionBarActivity在屏幕底部被截断

我正在使用AppCompat v21Style"NoActionBar"并添加一个Action/Toolbar onCreate.

还添加了Feinstein的SlidingMenu,这导致了Activity(因此内部片段)与Android的导航按钮重叠的问题(它没有完全显示,在底部被切断)

如果我添加:

android:layout_marginBottom="48dp"
Run Code Online (Sandbox Code Playgroud)

在布局中,一切都是可见的(当然).

在Android 4.4上.一切都正常显示.

使用支持lib在Android L上我缺少什么?

SlidingMenu在onCreate中添加:

super.onCreate(..)
setContentView(..)

menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
menu.setMenu(R.layout.menu);
menu.setBehindWidthRes(200dp);
Run Code Online (Sandbox Code Playgroud)

解:

这个问题在这里说明https://github.com/jfeinstein10/SlidingMenu/issues/680(包括解决方案)

Slding Menu to SLIDING_CONTENT
OR: update the SlidingMenu source like mentioned in the link aboce
Run Code Online (Sandbox Code Playgroud)

更好的解决方案:(
也在5.0上使用三星设备) - 由withaay提供

将以下行添加到SlidingMenu构造函数对我有用.我没有必要进行任何其他代码更改.

if(Build.VERSION.SDK_INT >= 21)
    setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-actionbaractivity jfeinstein android-5.0-lollipop

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

扩展ActionBarActivity时应用程序崩溃

我延长时遇到错误ActionBarActivity.如果我延伸Activity没有错误.

事情是在我的其他活动中,它完美地运作.起初,我认为这是因为我之前的活动在意图中加入了额外的内容.但即使没有它,应用程序崩溃.

这是我的代码:

import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;

public class FullscreenActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:和日志的结果:

09-21 18:21:39.413: E/AndroidRuntime(26944): FATAL EXCEPTION: main
09-21 18:21:39.413: E/AndroidRuntime(26944): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testlfm/com.example.testlfm.FullscreenActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
09-21 18:21:39.413: E/AndroidRuntime(26944):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
09-21 18:21:39.413: E/AndroidRuntime(26944):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
09-21 18:21:39.413: E/AndroidRuntime(26944):    at android.app.ActivityThread.access$600(ActivityThread.java:153)
09-21 18:21:39.413: E/AndroidRuntime(26944):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
09-21 18:21:39.413: E/AndroidRuntime(26944): …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat illegalstateexception android-actionbaractivity

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