Articles of java的

Recycler视图 – 滚动时调整项目视图的大小(对于旋转木马效果)

我需要创建一个垂直的Recyclerview,其中应调整屏幕中心的项目视图,以便在滚动时具有缩放效果。 我尝试但没有奏效的事情: 添加滚动侦听器并按位置循环浏览项目视图,测量居中位置,然后更新居中view LayoutParams 。 RecyclerView不会在滚动时计算项目的位置或更新视图。 如果在onScrolled中执行此类操作,则抛出IllegalStateException 在滚动状态下更改onScrollStateChanged中居中项目视图的LayoutParams是IDLE或SETTLING 。 仅在滚动已经/将要完成之后才更新视图,而不是在滚动项目期间执行。 剩下的最后一个选项是实现自定义的LayoutManager ,它将扩展默认的LayoutManager 。 据我所知,实现自定义Layoutmanager涉及处理需要处理的更复杂的计算。 任何其他解决方案或想法将不胜感激。

如何从Retrofit2获取字符串响应?

我正在做android,寻找一种方法来做一个超级基本的http GET / POST请求。 我一直收到错误: java.lang.IllegalArgumentException: Unable to create converter for class java.lang.String 网络服务: public interface WebService { @GET(“/projects”) Call jquery(); } 然后在我的java中: Retrofit retrofit = new Retrofit.Builder() .baseUrl(“https://jquery.org”) // .addConverterFactory(GsonConverterFactory.create()) .build(); WebService service = retrofit.create(WebService.class); Call signin = service.jquery(); Toast.makeText(this, signin.toString(), Toast.LENGTH_LONG).show(); 我实际上只是尝试使用GET请求查询jquery.org/projects并返回它响应的String。 哪里不对? 如果我尝试实现一个自定义转换器(我在网上find了一些例子),它抱怨我没有实现抽象方法convert(F),这些都没有。 谢谢。

LongClick事件还会触发Click事件

我使用按钮的onLongClick和onClick事件来获取用户输入。 每当; 用户长按并触发onLongClick事件,也会触发onClick事件。 我找不到我的问题。 两种方法的代码如下所示: @Override public void onClick(View v) { switch(((Button) v).getId()) { case R.id.enter: EntertheNumber(); break; case R.id.clear: CleartheNumber(); break; case R.id.number_zero: case R.id.number_one: case R.id.number_two: case R.id.number_three: case R.id.number_four: case R.id.number_five: case R.id.number_six: case R.id.number_seven: case R.id.number_eight: case R.id.number_nine: AddtotheNumber(mEditor, (Button) v); break; } @Override public boolean onLongClick(View view) { if(SMBGuesstheNumber.bDisplayFlagList) { […]

在Realm Android上列出或RealmList

我需要一个使用Realm的list 。 我尝试了RealmList但它不起作用,因为RealmObject是抽象的。

获取给定时区的当前时间:android

我是Android的新手,我目前面临的问题是获得时区的当前时间。 我以“GMT-7”格式得到时区,即字符串。 我有系统时间。 有没有一种干净的方法来获得上述时区的当前时间? 任何帮助表示赞赏。 谢谢, 编辑:尝试这样做: public String getTime(String timezone) { Calendar c = Calendar.getInstance(); c.setTimeZone(TimeZone.getTimeZone(timezone)); Date date = c.getTime(); SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”); String strDate = df.format(date); return c.getTime().toString(); }

使用Gson时会出现奇怪的“nameValuePairs”键

我正在尝试从其字段重建一个Object (我将字段作为JSONObject),如下所示: JSONObject jObj = new JSONObject(); JSONObject jObj1 = new JSONObject(); JSONObject jObj2 = new JSONObject(); JSONObject jObj21 = new JSONObject(); JSONObject jObj22 = new JSONObject(); jObj1.put(“jObj11”, “value11”); jObj1.put(“jObj12”, “value12”); jObj21.put(“jObj211”, “value211”); // level 2 jObj21.put(“jObj212”, “value212”); jObj21.put(“jObj213”, “value213”); jObj22.put(“jObj221”, “value221”); jObj22.put(“jObj222”, “value222”); jObj22.put(“jObj223”, “value223”); jObj2.put(“jObj21”, jObj21); // level 1 jObj2.put(“jObj22”, jObj22); jObj.put(“jObj1”, jObj1); […]

如何在一切之上绘制视图?

我想创建一个应用程序,可以在屏幕上创建当前正在显示的任何内容的通知。 类似于Go SMS消息popup窗口或类似ChatHead的图片如下图所示: 如果有可能动态绘制它包括触摸事件会更好。传统或标准的方法是什么? 例: 就像一个可以点击或拖动的图标,无论你是在主屏幕还是应用程序抽屉或其他应用程序。请注意张贴在屏幕边缘附近的圆形图标。 您可以将它们拖到任何应用中的任何位置

使用Retrofit进行并行HTTP请求

我有一个Android应用程序,目前正在使用Volley库来发出网络请求并使用NetworkImageView显示下载的图像。 我想测试Retrofit的function,因为我需要运行大量请求(数千),我有点担心并行执行。 Volley使用RequestQueue处理并行请求,该RequestQueue将并发运行请求限制为4,而其他请求则排队等待执行。 在Retrofit文档中,我没有find任何方法来处理并发请求的数量,我怀疑这些细节留给了这个库中的开发人员。 它是否正确? 如果是这样,是否有任何面向android的实现/库可用? 否则,处理并行请求的最佳做法是什么?

如何使用XMLSerializer正确缩进XML?

我正在努力尝试使用XMLSerializer缩进XML文件。 我试过了 serializer.setFeature(“http://xmlpull.org/v1/doc/features.html#indent-output”, true); 我试图将\n附加到FileWriter但输出是文件开头的\n和\t ,而不是正确的位置。 我已尝试使用正确的URI等setPropery 。 部分代码: XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance(); parserFactory .setNamespaceAware(true); XmlSerializer serializer = parserFactory .newSerializer(); File xmlFile = new File(PATH + “.xml”); FileWriter writer = new FileWriter(xmlFile); serializer.setOutput(writer); //serializer.setProperty(INDENT_URL, INDENT); serializer.startDocument(“UTF-8”, null); //serializer.setFeature(“http://xmlpull.org/v1/doc/features.html#indent-output”, true); serializer.startTag(null, “bla”); writer.append(‘\n’); 我错过了什么?

Android:从文件读取(Openfileinput)

我正在为uni的一个单位写一个基本的记事本应用程序。 我用editText创建了主类,我保存为字符串textOutput。 我使用Android开发者网站的以下代码将字符串保存到文件中: FileOutputStream fos = openFileOutput(textOutput, Context.MODE_PRIVATE); fos.write(textOutput.getBytes()); fos.close(); 但是,他们说阅读你使用以下阶段: 要从内部存储中读取文件: 调用openFileInput()并将其传递给要读取的文件的名称。 这将返回FileInputStream。 使用read()从文件中读取字节。 然后用close()关闭流。 这到底是什么意思,以及我将它实施到我的应用程序中的对象是什么? 请帮忙。