小编Huk*_*ABA的帖子

如何在RecyclerView中获取所选位置?

我正在试验支持库的recyclerview和卡片.我有回收卡的卡片.每张卡片的右上角都有一个"x"图标可将其删除:

该卡的xml, list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/taskDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:textSize="40sp"
        android:text="hi"/>
    <ImageView
        android:id="@+id/xImg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_remove"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

我试图用我会在使用的位置标记的行notifyItemRemoved(position)TaskAdapter.java:

public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.TaskViewHolder>  {

private List<Task> taskList;
private TaskAdapter thisAdapter = this;


// cache of views to reduce number of findViewById calls
public static class TaskViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    protected TextView taskTV;
    protected ImageView closeBtn;
    public TaskViewHolder(View v) {
        super(v); …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-cardview android-recyclerview

53
推荐指数
4
解决办法
14万
查看次数

RecyclerView适配器的位置与其数据集的索引有何关系?

我以为他们是一样的,但他们不是.当我尝试访问我的数据集的"position"索引时,下面的代码给出了indexOutOfBounds异常,在这种情况下,我创建了一个名为Task的模型列表:

public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.TaskViewHolder>   {

private List<Task> taskList;
private TaskAdapter thisAdapter = this;

// cache of views to reduce number of findViewById calls
public static class TaskViewHolder extends RecyclerView.ViewHolder {
    protected TextView taskTV;
    protected ImageView closeBtn;

    public TaskViewHolder(View v) {
        super(v);
        taskTV = (TextView)v.findViewById(R.id.taskDesc);
        closeBtn = (ImageView)v.findViewById(R.id.xImg);
    }
}


public TaskAdapter(List<Task> tasks) {
    if(tasks == null)
        throw new IllegalArgumentException("tasks cannot be null");
    taskList = tasks;
}


// onBindViewHolder binds a model to a viewholder
@Override
public void onBindViewHolder(TaskViewHolder …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

java 正则表达式 任何单词

我试图找出用于将一篇文章拆分成不带标点符号的单词的正则表达式。我尝试按空格分割,但这会给出一些带有标点符号的标记。我还尝试按单词字符分割,由于某种原因它返回了一个空字符串数组:

String[] words = line.split("\\w+");
Run Code Online (Sandbox Code Playgroud)

java regex

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

设置背景颜色时无法将@ color/Blue转换为drawable

RES /布局/ activity_main.xml中

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:background="@color/Blue">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

同时,res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="Blue">#0000FF</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,颜色确实以#开头

代码完全如您所见.

android

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

如何防止特定于风味的单元测试被编译为另一种风味?

我正在尝试这样做,但使用单一维度,因此更简单:如何指定二维风格的单元测试文件夹

app 模块 build.gradle 指定了 2 种风格,免费和高级:

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'

    android {
        compileSdkVersion 28
        defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android- 
     optimize.txt'), 'proguard-rules.pro'
        }
    }
    flavorDimensions 'someFlavor'
    productFlavors {
        premium {
            applicationIdSuffix '.premium'
        }

        free
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
        debug.java.srcDirs += 'src/debug/kotlin'
        release.java.srcDirs += 'src/release/kotlin'

        free {
            java.srcDirs += 'src/free/kotlin'
            test.java.srcDirs += 'src/test/kotlin'
        }

        premium …
Run Code Online (Sandbox Code Playgroud)

junit android android-productflavors

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

为什么java中的默认hashcode()不好?

如果我没记错的话,在Object()类型的对象的java中默认的hashCode()实现是返回对象的内存地址.当我们创建自己的类时,我读到我们想要覆盖hashCode(),这样当我们将它们插入到哈希相关的集合(如HashMap())时,它将正常工作.但为什么内存地址不好?

当然,我们将永远耗尽内存而你会发生冲突,但我认为这是一个问题的唯一情况是你处理TONS数据并且内存很少,然后它会开始影响性能,因为java中的哈希相关集合通过链接解决冲突(桶将链接到解析为相同哈希码/索引的值列表).

java hash hashcode

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

内部联接如何在Ebean中工作?

我读了http://www.avaje.org/ebean/introquery_joinquery.html ; 看一下例A,我注意到没有内部连接公共列的规范.我认为他们的fetch-tablename语法会导致Ebean查看2个表对内连接的列.然后他们将每个结果存储为订单?他们正在加入2个表,那么他们如何将客户表中的列存储为订单?

我尝试在我的代码中使用ebean进行内部联接,并发现至少我的一个假设是错误的.我有2张桌子,一张街道桌子和一张House桌子(一对多关系).House表中的street_id列是Street表的id列的外键.我试图想出这个sql的Ebean等价物:

SELECT s.name, h.owner, h.isSubscriber FROM Street as s INNER JOIN House as h WHERE     
h.street_id=s.id AND h.isNew='false'
Run Code Online (Sandbox Code Playgroud)

playframework ebean playframework-2.0

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

SQLite3“.tables”什么都不返回

我刚刚用 Python 2.7 安装了 Django 1.5.1。SQLite3 自带。我运行了“python manage.py syncdb”,它运行成功,现在我想看看创建了哪些表。我运行了 sqlite3 cmd line 工具,并在 sqlite 提示中执行了以下操作:

  1. ATTACH '/home/thisUser/PyWorkspace/dbfile.db' AS dbf; //我注意到这摆脱了临时数据库
  2. .databases 确认 db 的名称与 dbfile.db 相关联,dbfile.db 是我运行“sqlite3”命令以启动 sqlite cmd 行的当前目录的 2 个目录。
  3. .tables 不返回任何表!

我做错了什么?谢谢

sqlite django ubuntu

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

游戏不承认形式

我正在按照与这个人相同的教程,所以我的代码与他在这篇文章中的相同:播放2.0.4文件上传.NullPointerException:null

但是,我的问题不同之处在于我有编译错误,而不是运行时错误(尚未).我在播放控制台中键入"start",编译器告诉我:

找不到:价值形式

这是我的index.scala.html的内容:

@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {

<input type="file" name="picture">

<p>
    <input type="submit">
</p>
}
Run Code Online (Sandbox Code Playgroud)

播放是抱怨它不识别表单模板标签"@form".

根据这篇文章,http://dylankobayashi.wordpress.com/2013/05/09/views-and-play/作者认为这是一个特定于Windows的问题,但我不知道CR和LF是什么意思.

最后,我正在阅读MultiPartFormData类的play 2.1.3 javadoc,并没有真正理解它; 这可以接受任何类型的文件,包括zip文件?先感谢您

java playframework

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

按下对话框片段时,如何关闭其包含的活动?

我有一个显示自定义 DialogFragment 的闪屏活动。当我按回时,我不仅要关闭对话框片段,还要关闭它包含的活动。

DialogFragment 缺少 onBackPressed(),否则我会放

getActivity().finish() 
Run Code Online (Sandbox Code Playgroud)

在那个回调中。我也不想把它放在 onDetach() 中,因为如果用户点击对话框片段中的一个元素,它应该在同一个启动活动中填充一个列表视图,而不是关闭应用程序。

android android-dialogfragment

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