我想多选上下文菜单添加到listview与支持库22.1.1使用AppCompatActivity和Toolbar
没有支持库我可以使用 AbsListView.MultiChoiceModeListener
使用支持库,作为参数MultiChoiceModeListener接受的支持版本没有等效存在android.support.v7.view.ActionMode.
我该怎么做才能让它与支持库一起工作?
android android-appcompat android-listview action-menu android-contextmenu
我正在使用Android -Sandwich类型的特殊UI,GLSurfaceView上的一个小GalleryView(带有透明区域)在背景View(LinearLayout +一些小部件)之上.这就是我想要设置它的方式:
<User>
Run Code Online (Sandbox Code Playgroud)
TOP View
--- GalleryView
|
--- GLSurfaceView(带透明区域)
|
--- LinearLayout(带小部件)
BOTTOM View
在常规模式下,GLSurfaceView在透明区域上有黑色背景,所以我看不到底层,但是当我使用setZOrderOnTop(true)时; 我可以看到底层,但顶层(图库)也落后于Glsurface视图.如何在模式中完成所需的视图?
XML code dummy示例(使用AnalogClock而不是GalleryView):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#920000"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right" >
<AnalogClock
android:id="@+id/analogClock2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<com.test.CustomGlView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gl_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<AnalogClock
android:id="@+id/Gallery_dummyview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我必须ListView在每个项目上做一个包含的内容EditText.如果EditText获得焦点,我必须显示一个对话框 - 条件严格适用于EditText获得焦点而不是按下时,因为即使没有按下也可以选择它...
为了做到这一点,我使用焦点监听器,EditText但是onFocusChanged当用户按下时,只有一次调用三次调用EditText,这意味着对话框被调用两次...
这是调用的顺序:
我没有任何其他特殊的处理ListView或EditText..所以它应该是从系统以某种方式,也许是因为我使用ListView上的EditText也是一个焦点View..
有没有人有任何想法为什么会发生这种情况,我怎么能"修复"这个?
先感谢您.
我是Android和Robolectric的新手.我试图模拟(如主题所示)在viewpager上的拖动事件.
我曾经实现过这个代码,它在模拟器上运行.
问题主要是:我如何对其进行单元测试?
这是单元测试:
/** imports are skipped **/
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "/src/main/AndroidManifest.xml")
public class TestImages {
private ImageActivity activity;
@InjectResource(R.drawable.ic_launcher)
private static Drawable image;
@Spy
private final PicturesModel picturesModel = spy(new PicturesModelImpl());
/**
* Last touched view
*/
private View lastTouchView;
/**
* Last touched X coordinate
*/
private float lastTouchX;
/**
* Last touched Y coordinate
*/
private float lastTouchY;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
final Module roboGuiceModule = RoboGuice.newDefaultRoboModule(Robolectric.application);
final Module pictureModule = Modules.override(roboGuiceModule).with(new PictureModule());
final …Run Code Online (Sandbox Code Playgroud) 我有一个android-library插件,它使用几个包含.jar文件的android库,并直接从我的build.gradle文件中引用:
compile fileTree(dir: 'libs', include: '*.jar')
Run Code Online (Sandbox Code Playgroud)
然后我会发出一个gradlew assembleRelease命令来创建一个可以在Android应用程序中使用的.aar文件.到目前为止,这对我来说一直很好.
我现在需要在我的android-library中使用Google Play服务.正如官方Android文档(http://developer.android.com/google/play-services/setup.html#Setup)中所述,我需要将Google Play服务作为库项目包含在maven中导入:
compile 'com.google.android.gms:play-services:4.3.23'
Run Code Online (Sandbox Code Playgroud)
但是当我构建我的.aar文件时,Google Play服务似乎不包含在其中(我的.aar文件只有200kb,Google Play Services .jar库大于1mb).
我已经读过Google Play服务应该作为Android库模块引用,但我无法像没有编译错误那样导入它.有人可以帮我把Google Play服务打包到我的android-library中吗?
我的android-library build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.android.gms:play-services:4.3.23'
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
release {
runProguard false
}
}
Run Code Online (Sandbox Code Playgroud)
我的android应用程序build.gradle文件:
buildscript {
repositories { …Run Code Online (Sandbox Code Playgroud) android gradle android-library google-play-services android-studio
我在视图分页器中有一个工具栏(带有水平滑动导航的选项卡式工具栏),每个选项卡都有自己的带有recyler_view的片段.我现在想在我的recyler_view滚动时隐藏工具栏.在我的片段中,我添加了on scroll-listener,并希望在其activity类中调用一个方法来隐藏工具栏.工具栏在活动中创建.如何从我的片段中调用此方法?或者在我的片段本身中实现这种隐藏方法会更好.但是,我如何"联系"我的工具栏,这是在活动中而不是在片段中创建的.我找到了解决方案,但没有一个讨论片段中的recylcer_view和用于选项卡式导航的view-pager.如果你能帮助我会很棒......
android android-fragments android-viewpager android-toolbar android-recyclerview
我想在recyclerview上添加浮动操作按钮,但问题是当我点击浮动操作按钮Recyclerview项目时点击如何删除此问题
见下面的代码
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".screens.ShowSubjectsFrag"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<android.support.v7.widget.RecyclerView
android:id="@+id/MainList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
</android.support.v7.widget.RecyclerView>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_input_add"
app:layout_anchor="@id/MainList"
android:layout_margin="@dimen/fab_margin"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我们有一个支持In App Billing v3的Android应用程序.在我们的测试中,其他一切工作正常,但我们发现通过查询库存也可以获得非活动产品.
这就是我们在应用商品库存中查询Google Play的方式:
ArrayList<String> moreSkus = new ArrayList<String>();
moreSkus.add("gas");
moreSkus.add("premium");
mHelper.queryInventoryAsync(true, moreSkus, mGotInventoryListener);
...
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, final Inventory inventory) {
if(inventory.hasDetails("premium")) {
System.out.println("Inactive product is also visible to app!");
}
}
};
Run Code Online (Sandbox Code Playgroud)
在这两个产品中,"premium"处于非活动状态,但IabHelper.QueryInventoryFinishedListener中的print语句仍然执行!
有没有办法只获得有效产品?
我有一个 ViewPager,里面有几个片段,其中一个包含一个 webview。在该 WebView 中,我想在我用来显示图像的指定活动中打开图像 (jpeg/png) 的链接:
MyFragment.java
webView.setWebViewClient(new WebViewClient() {
public void startImageView(String url) {
Intent imageIntent = new Intent(getActivity(), ImageActivity.class);
imageIntent.putExtra(ImageActivity.IMAGE_URL, Uri.parse(url));
startActivity(imageIntent);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
if (url.toLowerCase().endsWith(".png") || url.toLowerCase().endsWith(".jpg") || url.toLowerCase().endsWith(".jpeg")) {
startImageView(url);
} else {
view.loadUrl(url);
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
ImageActivity.java
public class ImageActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_full_size);
...
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml
...
<activity
android:name="com.example.main.ImageActivity"
android:label="Picture"
android:screenOrientation="portrait"
>
</activity>
...
Run Code Online (Sandbox Code Playgroud)
当我单击网络视图内的图像链接时,图像活动确实会加载。但是,活动会加载到片段内,而不是在新窗口中打开(就像活动通常所做的那样)。当我从另一个活动(而不是如上所述的 …
android android-webview android-fragments android-viewpager android-activity
谁知道这是关于什么的?
这是我的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:cardview-v7:22.0.0'
compile 'com.android.support:gridlayout-v7:22.0.0'
compile 'com.android.support:palette-v7:22.0.0'
compile 'com.android.support:recyclerview-v7:22.0.0'
}
Run Code Online (Sandbox Code Playgroud)
我从Android支持库导入了所有内容并同步了Gradles.有谁知道为什么我在布局中出现渲染问题?
这是错误日志:
java.lang.NoClassDefFoundError: Could not initialize class android.support.design.widget.CoordinatorLayout
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:413)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105)
at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:177)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:214)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:142)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:413)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590)
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at …Run Code Online (Sandbox Code Playgroud) android ×10
action-menu ×1
focusable ×1
google-play ×1
gradle ×1
java ×1
listview ×1
robolectric ×1