我正在尝试在RecyclerView中使用Autosizing TextViews,但是当我滚动几次时,文本变得很小,以至于显然不能正常工作。
我的TextView的示例:
<android.support.v7.widget.AppCompatTextView
android:id="@+id/textview_unit_title"
android:layout_width="@dimen/tile_image_size"
android:layout_height="wrap_content"
android:maxLines="2"
android:textSize="@dimen/medium_size"
android:textColor="@color/color_text"
android:paddingTop="@dimen/padding_title"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
app:autoSizeMaxTextSize="@dimen/style_medium"
app:autoSizeTextType="uniform"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toRightOf="@id/imageview_unit_icon"
app:layout_constraintTop_toTopOf="parent"/>
Run Code Online (Sandbox Code Playgroud)
我应该以编程方式在其他地方更新此缩放比例,还是有其他解决方案?
我想在android studio中重新编写以下布局:

因为我在android的东西是新的,我首先尝试使用LinearLayout,并认为这可能是不可能的.现在我正在尝试使用RelativeLayout我已经用颜色创建了这个块:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@color/red_top">
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
现在我想问一下,如何将它分开,就像在顶部的图像1条和同一布局的底部的2条所示,我怎样才能放置相同的边框?
我有ListView将所有数据保存到数据库.对于添加我有简单的按钮和textBox添加到数据库,并显示到listView.现在我想要长项目点击(按住项目)将从列表中删除所选项目.怎么可能做到这一点(实际上是长期点击的方法).
这是当前代码:
import java.util.List;
import java.util.Random;
import android.app.ListActivity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
public class Announce extends ListActivity{
private CommentsDataSource datasource;
EditText edit;
ListView list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.announce);
datasource = new CommentsDataSource(this);
datasource.open();
List<Comment> values = datasource.getAllComments();
ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
public void onClick(View view) {
@SuppressWarnings("unchecked")
ArrayAdapter<Comment> adapter = (ArrayAdapter<Comment>) getListAdapter();
Comment comment = null;
switch (view.getId()) {
case R.id.add:
edit = …Run Code Online (Sandbox Code Playgroud) 将Android Studio更新为3.1,并创建了新的Kotlin项目,并在主应用程序中添加了新的Kotlin模块.现在尝试构建项目,它在配置构建失败时出现"发生配置项目的问题':app'."
构建树下的错误有些泛泛:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:666)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:135)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:249)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:167)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:62)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) …Run Code Online (Sandbox Code Playgroud) 我试图在 STATE_IDLE 或 DRAGGING 时检测滚动状态。作为参考,我找到了这个答案:
这帮助我了解了基本的想法,我实现了它,但它只是检测 STATE_IDLE 和强制方法
@Override
public void stopNestedScroll() {
super.stopNestedScroll();
dispatchScrollState(RecyclerView.SCROLL_STATE_IDLE);
}
Run Code Online (Sandbox Code Playgroud)
另外两个方法 onStartNestedScroll 和 startNestedScroll 永远不会被调用,所以由于检查dispatchScrollState中的状态,我永远不会在扩展接口的地方调用我的方法。
我添加的唯一额外的事情是我扩展了我的课程
NestedScrollingView.NestedScrollViewScrollStateListener
Run Code Online (Sandbox Code Playgroud)
并将此类中的scrollListener设置为:
nestedScrollView.setScrollListener(this);
Run Code Online (Sandbox Code Playgroud)
那么是什么原因导致它不调用启动方法呢?
当我尝试从网站上读取单行文本时我得到错误(NetworkOnMainThreadException).我尝试了一些东西但到目前为止没有任何作用.所以这里是代码,如果有人可以帮助.在清单中我有互联网许可,所以不应该是问题.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Weather extends Activity {
Button button;
TextView t;
String result;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weather);
t = (TextView)findViewById(R.id.textView1);
}
public void myButtonClickHandler (View view) throws ClientProtocolException, IOException {
result = getContentFromUrl("http://url.com");
t.setText(result);
}
public static String getContentFromUrl(String url) throws ClientProtocolException, IOException {
HttpClient httpClient = …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试将我的应用程序转换为 Kotlin DSL 我面临的问题是访问 gradle.properties 就像我在 groovy 中所做的那样,我正在尝试gradle.properties从我的settings.gradle.kts文件中访问props
def propName = 'prop.name.something'
def propDisabled = Boolean.valueOf(properties[propName])
Run Code Online (Sandbox Code Playgroud)
我尝试了几种使用 settings.extra[propName].toBoolean 访问它的方法。似乎应该有更直接的方法来访问这些属性?
我只有一个可能非常愚蠢的问题,但我无法解决这个问题.
我目前有3张桌子:
PROJECT
PROJECT_CATEGORY
CATEGORY
Run Code Online (Sandbox Code Playgroud)
现在PROJECT_CATEGORY是一个中间表,所以它只包含来自PROJECT和CATEGORY喜欢的主键pID和cID.
我知道如果我有一个pIDin表,我怎么能写一个查询CATEGORY但在这种情况下我只有中间表.那么我如何创建一个查询这三个表的查询然后它会显示所有类别以及它们分配给哪些项目?
我正在尝试使用DBFlow与我的对象,我有一对多的关系(用户有很多业务),我在他们的官方维基上关注教程,但它只是不想工作.
这是我的用户:
@Column
@PrimaryKey(autoincrement = true)
private Integer id;
@Expose
@Column
private Boolean allow_offline;
@Expose
@Column
private Integer user_level;
@Expose
@Column
private Integer account_validity;
@Expose
@Column
private Integer selected_business;
@Expose
@Column
private String user_id;
@Expose
@Column
private Boolean allow_print;
@Expose
@Column
private String email;
@Expose
private List<Business> businesses;
Run Code Online (Sandbox Code Playgroud)
和我的生意
@Expose
@Column
@PrimaryKey
private Integer id;
@Expose
@Column
private String name;
@Expose
@Column
private Boolean is_zero_tax;
@Expose
@Column
private String header;
@Expose
@Column
private String footer;
Run Code Online (Sandbox Code Playgroud)
我应该像在businessBusinessWithUser那样在Business上制作一个方法吗?或者我应该如何链接这个?
我有String这种格式的编码:
223175087923687075112234402528973166755
Run Code Online (Sandbox Code Playgroud)
解码后的字符串如下所示:
a7e5f55e1dbb48b799268e1a6d8618a3
Run Code Online (Sandbox Code Playgroud)
我需要将十进制转换为十六进制,但输入数量远大于int或long类型可以处理的数量,那么我该如何转换呢?
构建根项目时是否可以在库模块中获取根项目名称?例如:
mainProject 有一个模块(库)项目,其中包括:
compile project(path: ':lib-subproject')
Run Code Online (Sandbox Code Playgroud)
现在,在这个 lib-subproject 中,我想根据根项目名称来调整构建的风格。我已经在我的 lib-subproject gradle 中尝试过getRootProject.getName(),但这给了我这个库的名称。
我正在制作一个小程序,它将从网站上读取数据.html文件中的字符串已经被管理,每个信息被分成; .现在我应该读完整行这里是这一行的例子:
14:47;24.02.12;18.7°C;18.7°C;285;0.5m/s; 6:48;17:37; Warm ;36;1.8;0.0;
Run Code Online (Sandbox Code Playgroud)
首先,我应该如何使用HTTP Get读取它们还是还有其他什么?然后我想保存每个信息,它们是分开的; 变成一个变量.我应该如何从这一行切割每个信息.
我正在编写一个用Delphi转换的程序,旧程序保存了文件路径.所以我必须得到这些文件,他们的路径在注册表中,如下所示:
HKEY_LOCAL_MACHINE -> SOFTWARE-> Company->Program-> Pos1, Stack, Pop
Run Code Online (Sandbox Code Playgroud)
所以计划下有喜欢的几个籍图Pos1,Stack,Pop等,他们每个人都有属性有所谓的WorkStation是路径,我需要得到.所以我在寻找是否有办法扫描所有的东西并获得这条路径?或者我是否需要了解注册表的每个路径?