小编Asi*_*sim的帖子

如何使用它自己的Action按钮关闭Snackbar?

Android设计支持库现在包括对Snackbar的支持.

我使用以下代码创建一个:

Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG)
        .setAction("Dismiss", new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        }).show();
Run Code Online (Sandbox Code Playgroud)

小吃店可以通过刷卡解除.但是,我也想使用自己的Action Button(使用setAction函数创建)来解除它.

但是,似乎没有任何可用的功能可以做到这一点.

android android-snackbar

81
推荐指数
4
解决办法
5万
查看次数

Gson - 相同的字段名称,不同的类型

我今天在一个不同的问题中问过这个问题,但我担心因为它的措辞如何而无法得到任何解决方案.

我有一个json输入,其中包含以下数据:

JSON

如您所见,option_value项是一个对象中的Array和另一个对象中的简单字符串.

我怎样才能让Gson正确处理这个问题?我的类将其描述为List对象,因此它适用于其中option_value是数组的前几个项目,但是当它变为字符串时,应用程序崩溃并且我得到json解析异常.

这有解决方法吗?

UPDATE

按要求添加我班级的相关部分:

public class Options
    {
        String product_option_id;
        String option_id;
        String name;
        String type;
        String required;
        List<OptionValue> option_value;

        // get set stuff here

        public class OptionValue
        {
            String product_option_value_id;
            String option_value_id;
            String name;
            String image;
            String price;
            String price_prefix;

            // get set stuff here
        }
    }
Run Code Online (Sandbox Code Playgroud)

android json gson

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

ScrollView - 如何在Eclipse中设计布局时向下滚动?

我一直在我的应用程序中使用滚动视图,但问题是这是我第一次绘制比默认大小屏幕更长的内容.

XML Design屏幕显示固定的3.7英寸(或更大)屏幕.如果我想添加更多对象怎么办?在Eclipse中进行设计时如何向下滚动?

xml android scrollview

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

每次更新到1.8路径时,Android Studio JDK位置都会更改回1.7

我最近安装了jdk 1.8 u92,之后Android Studio表示api24版本需要它.但是,我现在遇到了这个问题.

我查看了一些其他解决方案并卸载了jdk 1.7,为JDK_HOME,JAVA_HOME和JAVA8_HOME添加了环境变量.问题仍然存在.

每次我尝试构建应用程序时,gradle sync都会失败,Android studio会要求我选择一个有效的JDK目录.然后我转到Project Structure => JDK Location并将其更新到1.8文件夹.尝试再次构建会产生相同的错误,当我检查项目结构时,路径将自动重新设置为旧的JDK 1.7.

这个问题有什么问题吗?

java android java-8 android-studio android-studio-2.1

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

Android Studio XML预览未显示

AppBarLayout。出现问题了。

更新:这是一个新错误。XML视图预览不显示任何内容。普通的“设计视图”显示预览,但是没有可单击的预览。

java.lang.IllegalArgumentException: object is not an instance of declaring class
Run Code Online (Sandbox Code Playgroud)

这是错误:

java.lang.IllegalArgumentException: java.lang.ClassCastException@24bbb842
at sun.reflect.GeneratedMethodAccessor319.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at android.animation.PropertyValuesHolder_Delegate.callMethod(PropertyValuesHolder_Delegate.java:108)
at android.animation.PropertyValuesHolder_Delegate.nCallFloatMethod(PropertyValuesHolder_Delegate.java:143)
at android.animation.PropertyValuesHolder.nCallFloatMethod(PropertyValuesHolder.java)
at android.animation.PropertyValuesHolder.access$400(PropertyValuesHolder.java:38)
at android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.setAnimatedValue(PropertyValuesHolder.java:1387)
at android.animation.ObjectAnimator.animateValue(ObjectAnimator.java:990)
at android.animation.ValueAnimator.setCurrentFraction(ValueAnimator.java:674)
at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:637)
at android.animation.ValueAnimator.start(ValueAnimator.java:1069)
at android.animation.ValueAnimator.start(ValueAnimator.java:1088)
at android.animation.ObjectAnimator.start(ObjectAnimator.java:852)
at android.animation.StateListAnimator.start(StateListAnimator.java:188)
at android.animation.StateListAnimator.setState(StateListAnimator.java:181)
at android.view.View.drawableStateChanged(View.java:21105)
at android.view.ViewGroup.drawableStateChanged(ViewGroup.java:7101)
at com.google.android.material.appbar.AppBarLayout.drawableStateChanged(AppBarLayout.java:393)
at android.view.View.refreshDrawableState(View.java:21160)
at android.view.View.dispatchAttachedToWindow(View.java:18379)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3397)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:335)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:391)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:195)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:540)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$5(RenderTask.java:666)
at …
Run Code Online (Sandbox Code Playgroud)

android android-design-library

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

室内一对多关系

我过去一直在为大多数项目使用SugarDB.它很容易使用并且满足了我的大多数要求,但由于该项目已被放弃,因此决定寻找替代方案,而房间似乎是最佳选择.

然而,一些基本的东西在Room中相当混乱.My Object使用Gson填充来自Web服务的数据,例如链接到其他对象.例如,请考虑以下类:

@Entity
public class TestModel
{
    @PrimaryKey(autoGenerate = true)
    private int id;
    private String name;
    private String age;
    private List<Book> issuedBooks;
}

public class Book
{
    private String title;
    private int ISBN;
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我的第一个类被注释为实体,那么这会自动将其中引用的类视为实体吗?

如果我保存TestModel的对象,它会将带有它的Books列表保存到数据库中吗?

android android-sqlite android-room

7
推荐指数
2
解决办法
7205
查看次数

区分Maps API v2中的不同标记(唯一标识符)

我有一个自定义类的ArrayList.列表中大约有10个对象,每个对象都有Title,Snippet,LatLng等详细信息.我已经使用我的自定义类函数(如getTitle,getSnippet,getLatLng等)将所有10个成功添加到Map中.

现在,当我单击信息窗口(标记)时,我希望能够以某种方式知道我的自定义类的哪个对象与该标记对应.

例如,如果我点击麦当劳市场,我希望能够知道我的ArrayList中哪个项目属于该标记.

我一直在看MarkerOptions,似乎没有什么可以用来识别相关的自定义对象.

如果问题太混乱,那么让我简单一点:

ArrayList<CustomObj> objects = blah
map.addMarker(new MarkerOptions().position(new LatLng(
                            Double.parseDouble(result.get(i).getCompanyLatLng()
                                    .split(",")[0]), Double.parseDouble(result
                                    .get(i).getCompanyLatLng().split(",")[1])))
                                    .title(result.get(i).getCompanyName())
                                    .snippet(result.get(i).getCompanyType())
                                    .icon(BitmapDescriptorFactory
                                            .fromResource(R.drawable.pin)));
Run Code Online (Sandbox Code Playgroud)

现在,当点击它时,我继续下一页.下一页需要知道单击了WHICH对象,以便我可以将其他详细信息发送到该页面(例如,需要加载的图像URL等).

如何在标记中添加唯一的整数或任何标识符?

android android-maps-v2

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

无法将Android Studio从1.3.0修补到1.4.0

在我的笔记本电脑上,我有AS版本1.3.2.当1.4.0被释放到稳定通道时,我得到了通常的Update和Restart选项.

但是,在我的桌面上,我有AS版本1.3.0.现在它拒绝在这里给我更新选项,而我只能选择下载独立版本并基本上进行新安装.

这有什么解决方法吗?我想将当前的1.3.0安装更新为1.4.0.

android android-studio

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

为Android的地方自动填充API创建地方类型过滤器

这个API似乎相当新,因此这里没有太多关于它的问题,也没有很多教程.

我按照谷歌的教程,在我的应用程序中使用了Autocomplete Android api.我现在正尝试使用AutocompleteFilter将结果限制在某个区域或某些类型的地方.

对于像我这样的初学者来说,似乎没有什么文档可以解释做什么.

AutocompleteFilter需要Collection对象.如何将以下值更改为整数?

https://developers.google.com/places/supported_types#table3

android autocomplete google-places-api

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

RecyclerView中的MapView仅显示点击地图

这必须是有史以来最荒谬的事情.

我有一个带有重复自定义项目的RecyclerView.在这些项目中,有一些文本字段,按钮和一个MapView.

问题是,当列表加载时,MapView仅显示Google徽标,而不显示其他图块或细节(或标记).但是,当我在地图上点击一次时,它会显示我添加的标记.在下一次点击时,它会加载像素化地图.在另一个点击,它加载更好的质量地图.进一步点击后,它会添加附近位置的文字标签.LatLngBounds也无法正常工作,但这是次要问题.

为什么会这样?

我的代码如下:

JobAdapter.java

public class JobAdapter extends RecyclerView.Adapter<JobAdapter.ViewHolder>
{
    private Context context;
    private static List<Job> jobList;
    private HashSet<MapView> mapViews = new HashSet<>();
    private GoogleMap googleMap;

    public JobAdapter(Context con, List<Job> jobs)
    {
        context = con;
        jobList = jobs;
    }

    @Override
    public int getItemCount()
    {
        return jobList.size();
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
    {
        Context context = parent.getContext();
        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.listitem_booking, parent, false);
        ViewHolder viewHolder = new ViewHolder(view);
        mapViews.add(viewHolder.mapView);
        return …
Run Code Online (Sandbox Code Playgroud)

android android-mapview android-recyclerview

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