我正在使用谷歌凌空在Android中进行网络连接.我将发出一个http GET请求,并需要返回一个响应头值.我在堆栈溢出时找到了一些访问头字段的答案,但不知道如何将它返回到我的调用点.请看看我的代码,我在其中放了四个数字来解释我的问题.
在(1)我可以打印出我需要的价值.我试图将它保存在类属性(2)中,并且IDE中没有错误.如果我想从那里(3)返回它,我在(4)得到一个NullPointerException.也许它在那之前是一个读写问题.那么我怎样才能得到(1)到(4)的值?非常感谢!
public class Login {
String phpsessid = null;
public Login() {}
public String getSessionId(Context context) {
RequestQueue queue = Volley.newRequestQueue(context);
StringRequest sr = new StringRequest(Request.Method.GET, "any url",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
System.out.println(response.headers.get("Set-Cookie")); (1)
phpsessid = response.headers.get("Set-Cookie"); (2)
return super.parseNetworkResponse(response);
}
};
queue.add(sr);
return phpsessid; (3)
}
Run Code Online (Sandbox Code Playgroud)
}
在主要:
Login login = …Run Code Online (Sandbox Code Playgroud) android http-get http-headers android-networking android-volley
我需要为android实现一个3级 - ExpandableListView.我已经使用ExpListView作为另一个ExpListView的子节点.两个可扩展列表已经显示,也可以展开.但是只看到第二级,如果我点击第二级组行,箭头会变为展开状态,但第三级的行无法看到.认为外部ExpListView需要刷新以获取第3级行的空间,并且可能还需要重新计算行计数.
关于stackoveflow的类似问题,最多只有一个示例的链接,我不理解/无法适应我的实现的解决方案.
链接是这样的:http://mylifewithandroid.blogspot.de/2011/02/3-level-expandable-lists.html
有没有更简单的解决方案,或任何人都可以轻松解释它.上面链接中的代码对我没有帮助.
解释到目前为止我做了什么:我在ExpandableListView和getGroupView()中设置了BaseExpandableListAdapter,我使用layoutInflater并编写了一个ViewHolder,它为每一行保存了TextView(作为第一级文本).在getChildView()中,我在第二个ViewHolder中使用了另一个ExpandableListView.在那个ExpListView上我还设置了一个BaseExpandableListAdapter,并为这个适配器实现了getGroupView()和getChildView().使用类似于组描述的TextView(作为第二级文本)和此处也是子级(作为第三级文本)完成此操作.
如果它需要我可以明天发布一些代码,需要先在这里准备它.但是一个好的教程也会帮助我.
谢谢.
我创建了一个3级的ExpandableListView,并且如果内容太长,则会遇到第二级和第三级使用的TextView不支持换行的问题.如果需要,它应该动态地超过一行.第一级TextView做得很好(自动),我实际上在xml中对所有三个TextView都有相同的设置.接下来是布局xmls,一个带有id groupname的TextView用于第二级(例如下图中的第一个红色X),带有id子名的一个用于第三级(例如,第二级和第三级红色X)图片如下).它应该都像在图片中的绿色钩子.
"singleLine = false"似乎不起作用.还尝试了在其他SO帖子中找到的一些不同的选项,但我所测试的并没有为我工作.像ellipsize一样,滚动horizontale,不同layout_width等等.唯一有效的是在x 100 dp上设置一个固定的layout_width,但这不是动态的,我是对的?
如果有人可以帮助我,那会很棒.非常感谢!
这是一个截图:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TextView
android:id="@+id/childname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="60dp"
android:layout_marginLeft="60dp"
android:textColor="#AAAAAA"
android:singleLine="false"
android:text=""
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/groupname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="45dp"
android:layout_marginRight="60dp"
android:textColor="#555555"
android:singleLine="false"
android:gravity="center_vertical"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" />
Run Code Online (Sandbox Code Playgroud)
我需要一些帮助来将pi计算与monte carlo方法并行化,使用给定的随机数生成器进行openmp,这不是线程安全的.
第一:这个 SO线程没有帮助我.
我自己尝试的是以下#pragma omp语句.我认为i,x和y变量应该由每个线程初始化,而不应该是私有的.z是圆圈中所有命中的总和,因此它应该在for循环后隐含的barriere之后求和.
认为主要问题是随机数发生器的静态状态变量.我创建了一个调用函数的关键部分,因此每次只有一个线程可以执行它.但Pi解决方案不能随着更高的值而扩展.
注意:我不应该使用其他RNG,但可以对其进行少量更改.
int main (int argc, char *argv[]) {
int i, z = 0, threads = 8, iters = 100000;
double x,y, pi;
#pragma omp parallel firstprivate(i,x,y) reduction(+:z) num_threads(threads)
for (i=0; i<iters; ++i) {
#pragma omp critical
{
x = rng_doub(1.0);
y = rng_doub(1.0);
}
if ((x*x+y*y) <= 1.0)
z++;
}
pi = ((double) z / (double) (iters*threads))*4.0;
printf("Pi: %lf\n", pi);;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个RNG实际上是一个包含文件,但由于我不确定我是否正确创建了头文件,我将其集成到另一个程序文件中,因此我只有一个.c文件.
#define RNG_MOD 741025
int rng_int(void) {
static int …Run Code Online (Sandbox Code Playgroud) android ×3
http-get ×1
http-headers ×1
listview ×1
montecarlo ×1
multiline ×1
openmp ×1
prng ×1
textview ×1