小编roy*_*oyB的帖子

ScrollView中的RecyclerView无法正常工作

我正在尝试在相同的布局中实现包含RecyclerView和ScrollView的布局.

布局模板:

<RelativeLayout>
    <ScrollView android:id="@+id/myScrollView">
       <unrelated data>...</unrealated data>

           <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/my_recycler_view"
            />
    </ScrollView>


</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

问题:我可以滚动直到最后一个元素 ScrollView

我试过的事情:

  1. 里面的卡片视图ScrollView(现在ScrollView包含RecyclerView) - 可以看到卡片直到RecyclerView
  2. 最初的想法是实现这个viewGroup,RecyclerView而不是ScrollView其中一个视图类型是,CardView但我得到了与完全相同的结果ScrollView

android android-layout android-scrollview android-cardview android-recyclerview

240
推荐指数
13
解决办法
17万
查看次数

如何在经过一段时间后停止while循环?

如果它没有达到我想要的效果,我将如何在5分钟后停止while循环.

while true:
    test = 0
    if test == 5:
        break
    test = test - 1
Run Code Online (Sandbox Code Playgroud)

这段代码让我陷入了无尽的循环.

python python-2.7

55
推荐指数
5
解决办法
13万
查看次数

场景转换动画的JNI错误 - 图层超出最大值

请注意问题底部的编辑

我有2个活动:ActivityA,ActivityB与相关frgments: FragmentA,FragmentB 分别.ImageView v在这两个片段之间共享.

一些代码:ActivityA

Intent intent = new Intent(this, ActivityB.class);
final ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.
                         makeSceneTransitionAnimation(this, imageView, "photo");   

ActivityCompat.startActivity(this, intent, activityOptionsCompat.toBundle());
Run Code Online (Sandbox Code Playgroud)

ActivityB

FragmentB fragment = new FragmentB();
getFragmentManager().beginTransaction()..replace(R.id.fragment_container, fragment, TAG).addToBackStack(TAG).commit();
Run Code Online (Sandbox Code Playgroud)

FragmentB

mView = (ImageView) view.findViewById(R.id.view);
ViewCompat.setTransitionName(mView, "photo);
Run Code Online (Sandbox Code Playgroud)

5次中有4次正在工作.但是当它不起作用时,我得到了非常有用的错误:

W/OpenGLRenderer? Layer exceeds max. dimensions supported by the GPU (1080x10659, max=4096x4096)
JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception 'java.lang.IllegalStateException' thrown in void android.os.MessageQueue.nativePollOnce(long, int):-2
Run Code Online (Sandbox Code Playgroud)

拨电至 …

android android-animation picasso

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

在2个模块之间共享组件

我正在尝试包含一个Component2个模块(父级和子级),但在此过程中会遇到各种错误

app.module.ts

@NgModule({
    declarations: [SharedComponent],
    exports: [SharedComponent]...
})    
Run Code Online (Sandbox Code Playgroud)

child.module.ts

@NgModule({
    imports: [SharedComponent], //Unexpected directive imported by module
})  
Run Code Online (Sandbox Code Playgroud)

app.html

<div class="container">
    <shared-selector></shared-selector>
    <child-selector></child-selector>
</div>
Run Code Online (Sandbox Code Playgroud)

child.html

<div>
    content
    <shared-selector></shared-selector>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在Async中加载ChildModule

loadChildren: 'app/child.module#ChildModule',
Run Code Online (Sandbox Code Playgroud)

当没有importingdeclaringChildModule我收到错误时:

template parse error: shared-selector is not a known element
Run Code Online (Sandbox Code Playgroud)

******更新*******

在创建时FeatureModule,为了工作SharedModule应该导出组件...更新代码...

SharedModule

@NgModule({
    imports: [
        CommonModule
     ],
    declarations: [
         SharedComponent
    ],
    exports: [
        SharedComponent
    ]
})

export class SharedModule {}
Run Code Online (Sandbox Code Playgroud)

app.module.ts

@NgModule({ …
Run Code Online (Sandbox Code Playgroud)

angular

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

ngFor创建2行

使用Angular 2 ng我正在创建一个表.

我的问题是my data array包含elements这样的元素应该在表中创建2 个连续的行(使用不同的字段,第二行可以与更多数据折叠)

<tbody>
    <tr *ngFor="let element of data; let i = index">
       <th>...<th>
       ...
       <td>...<td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

问题是tbody旁边不允许任何属性<tr>.

我正在寻找类似的东西

<tbody>
   <template *ngFor="let element of data; let i = index">
       <tr>...</tr> //row 1
       <tr>...</tr> //row 2
   </template>
</tbody>
Run Code Online (Sandbox Code Playgroud)

html angular

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

PreAuthorize错误处理

我正在使用Spring Oauth2Spring Pre-post Annotations使用Spring-boot

我有一个服务班MyService.一个MyService方法是:

@PreAuthorize("#id.equals(authentication.principal.id)")
public SomeResponse getExampleResponse(String id){...}
Run Code Online (Sandbox Code Playgroud)

我能以某种方式控制调用者控制器返回的json吗?

默认返回的json是:

{error : "access_denied" , error_message: ".."}
Run Code Online (Sandbox Code Playgroud)

我希望能够控制error_message参数.我正在寻找类似的东西:

@PreAuthorize(value ="#id.equals(authentication.principal.id)", onError ="throw new SomeException("bad params")")
public SomeResponse getExampleResponse(String id){...}
Run Code Online (Sandbox Code Playgroud)

我想到的一种方法是使用 ExceptionHandler

@ExceptionHandler(AccessDeniedException.class)
public Response handleAccessDeniedException(Exception ex, HttpServletRequest request){
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我无法控制message异常.而且我不能确定这Exception将在未来的版本中被抛出

spring spring-security spring-annotations spring-boot spring-security-oauth2

22
推荐指数
2
解决办法
8118
查看次数

android notifyItemRangeInserted禁用自动滚动

我正在使用RecyclerView作为我的数据列表的基础.我已经实现了基于ArraList的自定义RecyclerView.Adapter.从互联网上获取数据我正在运行的代码是:

public void addItems(List<Item> items){

    final int size = data.size();
    data.addAll(items);
    notifyItemRangeInserted(size, items.size());
}
Run Code Online (Sandbox Code Playgroud)

问题是,在运行此代码后,我将自动滚动到列表的底部(最后一个元素现在可见)

有没有办法禁用它?找不到任何类似的问题.

相关信息:我的适配器有2个viewHolders - 对于位置0它有一个视图(viewType为0),对于其余的列表,它有viewType 1的视图

谢谢你的帮助!

罗伊

android android-adapter android-recyclerview

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

PagerAdapter.notifyDataSetChanged不刷新片段

我的Activity包含a ViewPager和它的自定义Adapter扩展FragmentStatePagerAdapter.ViewPager包含3个片段

用于从ViewPager中删除片段的代码

MainActivity

public void deleteElement(){
    final int currentItem = mViewPager.getCurrentItem();
    mPagerAdapter.removeItem(currentItem);
    mPagerAdapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)

CustomPagerAdapter

private ArrayList<Item> data;
public void removeItem(int index){
        data.remove(index);
}
Run Code Online (Sandbox Code Playgroud)

删除中间Fragment(索引1)时:

  • data我删除正确的item.
  • 问题是我(我猜)Fragment3被删除后notifyDataSetChanged,当前Fragment仍然是用户看到的片段,正在加载的数据来自SavedInstance捆绑

所以最终的结果是用户仍然看到Fragment他试图删除的相同,这对他来说有点不好意思.

想法?

android android-viewpager android-pageradapter

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

从docker容器发送udp广播

我有几个docker容器(使用docker-compose和单个网络 - network-sol)

其中一个容器是Spring Boot application将UDP广播发送到本地网络的容器.255.255.255.255失败,因为它是network-sol的本地广播地址

如何广播UDP消息,如"顶级本地网络"将获取这些数据包?我必须使用directed broadcast address它吗?

PS

如果应用程序部署在docker(本地网络的一部分)之外,则广播有效

networking udp docker spring-boot docker-compose

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

使用骨干渲染bootstrap模式

我认为代码会更好地解释我的问题:视图:

App.Views.ErrorModal = Backbone.View.extend({
  template: window.template('errorModal'),

  render: function(){
    this.$el.html(this.template(this.model.toJSON()));

    this.$("#errorApproveModal").modal({
        keyboard: true
    });

    return this;

  }

});
Run Code Online (Sandbox Code Playgroud)

实例化时:

 var error = new App.Models.Errors({title: "Exporting Error", content: "Error"});
 var errorModal = new App.Views.ErrorModal({model: error});
 errorModal.render();
Run Code Online (Sandbox Code Playgroud)

模态已加载,但我只得到一个空div

谢谢您的帮助!罗伊

jquery backbone.js twitter-bootstrap

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