我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
我有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
我正在尝试为活动添加工具栏.但是我收到了这个错误:
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
我有一个活动延伸ListActivity.
我可以添加一个ActionBar没有延伸ActionBarActivity?
我有一个 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
这个问题实际上是在更复杂的情况下出现的,涉及方向变化和纵向和横向布局的变化,但是在最小版本中,问题是这样的:
我们想在“常规”和“全屏”布局之间来回切换,即:
要将屏幕从正常模式切换到全屏模式,我们使用:
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
我正在使用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
我需要你的帮助以解决android dev中的以下问题.出于某种原因,当我扩展ActioBarActivity时,当我按下EditText组件时,剪切/复制/粘贴按钮会正确显示(见图1).

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

如果你需要我可以分享代码,但我认为这可以很容易地再现.
提前致谢.
保罗
android android-layout android-theme android-activity android-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构造函数对我有用.我没有必要进行任何其他代码更改.
Run Code Online (Sandbox Code Playgroud)if(Build.VERSION.SDK_INT >= 21) setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)
android android-appcompat android-actionbaractivity jfeinstein android-5.0-lollipop
我延长时遇到错误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