小编Seb*_*wak的帖子

Android适配器返回LinearLayout

我有一个ListView的自定义适配器,我需要从getView()返回LinearLayout.我这样做的原因是我有自定义组件,它扩展了LinearLayout并需要从代码创建.问题是,如果我从getView()返回任何LinearLayout,应用程序崩溃.我怎样才能让它运转起来?我无法从xml中扩展View,一切都必须通过代码完成.

这是getView():

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
  LinearLayout lay = new LinearLayout(MyApplication.getContext()); // gets the context from extended Application class
  lay.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
  return lay;
}
Run Code Online (Sandbox Code Playgroud)

并记录发生的事情:

08-20 08:40:07.886: DEBUG/AndroidRuntime(13039): Shutting down VM
08-20 08:40:07.896: WARN/dalvikvm(13039): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
08-20 08:40:07.926: ERROR/AndroidRuntime(13039): FATAL EXCEPTION: main
        java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
        at android.widget.ListView.setupChild(ListView.java:1870)
        at android.widget.ListView.makeAndAddView(ListView.java:1839)
        at android.widget.ListView.fillDown(ListView.java:670)
        at android.widget.ListView.fillFromTop(ListView.java:727)
        at android.widget.ListView.layoutChildren(ListView.java:1689)
        at android.widget.AbsListView.onLayout(AbsListView.java:1260)
        at android.view.View.layout(View.java:7278)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
        at android.view.View.layout(View.java:7278)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912) …
Run Code Online (Sandbox Code Playgroud)

android listview adapter android-linearlayout

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

检查ThreadPoolExecutor中的所有任务是否都已完成

如何检查提交的所有任务是否ThreadPoolExecutor已完成?

新的任务可以从以前提交的任务被加入,所以我不能把shutdown后面awaitTermination也没有invokeAll,因为它会忽略这些新的任务.

java concurrency threadpoolexecutor

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

卡桑德拉防止重复

我有一个简单的表,发布者userId

create table test (
  userId uuid,
  placeId uuid,
  visitTime timestamp,
  primary key(userId, placeId, visitTime)
) with clustering order by (placeId asc, visitTime desc);
Run Code Online (Sandbox Code Playgroud)

每对(userId, placeId)可以访问1次或不访问。visitTime只是与之相关的一些数据,用于对诸如之类的查询进行排序select * from test where userId = ? order by visitTime desc

我该如何要求(userId, placeId)与众不同?我需要确保

insert into test (userId, placeId, timeVisit) values (?, ?, ?)
Run Code Online (Sandbox Code Playgroud)

不会(userId, placeId)在不同的时间插入第二次访问。在插入之前检查是否存在不是原子的,有没有更好的方法?

cql cassandra cql3

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

Android在构造函数中设置样式

我在我的代码中动态创建UI.我知道在运行时通过代码在样式之间切换是不可能的,但是如何在创建对象时分配样式?

我想使用类似的东西:

 ListView listView = new ListView(this, null, R.style.listViewStyle);
Run Code Online (Sandbox Code Playgroud)

谢谢.

android constructor coding-style

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

Android阻止保存状态

如何从扩展特定小部件的类中禁用保存小部件的状态?我需要它的行为就像它是新创建的一样.

android state orientation

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

Android自动启动应用程序

如何在设备启动时自动启动应用程序的服务(可以启用/禁用此功能)?我必须在AndroidManifest中包含哪些权限?

谢谢

boot service android device autostart

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

解密编码$ _SERVER ['request_uri']

快速提问,$_SERVER['request_uri']不包含已解码的网址但包含原始网址.如果我访问http://localhost/asd/%20/它包含asd/%20/.解析它的函数名是什么asd/ /

php url request

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

UDP数据包分片

阅读了数十篇文章后,我找不到一个简单问题的答案 - UDP 数据报可以分段到达吗?我知道如果它的大小超过 576 字节或类似的东西,它可能会在途中产生碎片,但是当它到达时它会被合并吗?

换句话说,如果我通过 发送单个数据包udp::socket::send_to(),我是否可以假设如果它没有在途中丢失,我将通过一次调用 来检索它udp::socket::async_receive_from()

udp fragmentation boost-asio

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

Prolog 绑定参数

在 sicstus prolog 中,有一个谓词:

maplist(:Pred, +List)
Run Code Online (Sandbox Code Playgroud)

Pred应该只采用一个参数 -List元素。如何通过定义第一个参数的 2 参数谓词?在其他语言中,它会被写成:

maplist(pred.bind(SomeValue), List)
Run Code Online (Sandbox Code Playgroud)

prolog meta-predicate

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

Android对话框昏暗动画

长话短说:如何设置显示对话框时出现的暗淡动画的持续时间?

可以通过控制昏暗不透明度getWindow().getAttributes().dimAmount,但我找不到与动画持续时间相关的任何内容.

android

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

使用pthread_mutex_unlock进行pthread_cleanup_push

我在C中有以下代码:

pthread_cleanup_push(pthread_mutex_unlock, &mutex);
Run Code Online (Sandbox Code Playgroud)

但是当我编译它时,我得到以下警告:

warning: initialization from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)

怎么了?看起来清理处理程序应该返回void*,而不是int.有没有办法绕过这个警告,而无需编写额外的包装器?

c mutex pthreads

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

Android后台服务

我正在阅读文档,花费的时间越多,我就会越来越困惑,这是实现我想做的最简单的方法.我想写一个简单的服务,它从按钮onClick开始并绑定到活动.当活动关闭并稍后再次启动时(不仅重新启动!),我想检查服务是否已经运行并绑定到它.我该怎么做?

谢谢

service android background bind android-activity

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