小编ste*_*mcb的帖子

在线性布局中将焦点从父级传递给子级

我的xml代码中有一系列嵌套的线性布局.我希望父母的第一个孩子(也是一个线性布局)成为焦点.如果我将focusable设置为true,它就会这样做.我还想把焦点传递给这个布局的子节点(为了调用它们的状态列表).然而,即使它们被设定为可聚焦,它也不会将它的任何焦点传递给它的孩子.任何想法如何做到这一点?谢谢

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:weightSum="1"
        android:layout_height="wrap_content"
        android:background="@drawable/resultpage_statelist"
        android:focusable="true"
        android:clickable="true">
        <TextView
            android:text="TextView"
            android:layout_height="wrap_content"
            android:paddingTop="5dip"
            android:paddingBottom="5dip"
            android:paddingLeft="10dip"
            android:layout_width="fill_parent"
            android:layout_weight="0.8"
            android:id="@+id/tag_row_text"
            android:textSize="16dip"
            android:padding="10dip"
            android:textColor="@drawable/resultpage_grey_text_statelist"
            android:background="#00000000"
            android:focusable="true">
        </TextView>
        <ImageView
            android:layout_height="wrap_content"
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_gravity="right|center_vertical"
            android:src="@drawable/arrow_statelist"
            android:layout_marginRight="10dip"
            android:background="#00000000"
            android:focusable="true">
        </ImageView>
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:background="#6E6E6E"
        android:layout_height="1dip">
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-linearlayout

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

Android:没有历史记录的ShareActionProvider

根据Android文档,如果我不希望我的ShareActionProvider持久保存我应该调用的共享历史记录

mShareActionProvider.setShareHistoryFileName(null)
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我在选择共享选项时遇到以下崩溃:

11-15 10:06:34.848: E/AndroidRuntime(22461): java.lang.IllegalStateException: No preceding call to #readHistoricalData
11-15 10:06:34.848: E/AndroidRuntime(22461):    at android.widget.ActivityChooserModel.persistHistoricalDataIfNeeded(ActivityChooserModel.java:573)
11-15 10:06:34.848: E/AndroidRuntime(22461):    at android.widget.ActivityChooserModel.addHisoricalRecord(ActivityChooserModel.java:743)
11-15 10:06:34.848: E/AndroidRuntime(22461):    at android.widget.ActivityChooserModel.chooseActivity(ActivityChooserModel.java:491)
11-15 10:06:34.848: E/AndroidRuntime(22461):    at android.widget.ActivityChooserView$Callbacks.onItemClick(ActivityChooserView.java:547)
Run Code Online (Sandbox Code Playgroud)

以下是设置ShareActionProvider的代码:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.article_pager_menu, menu);
    // mShareActionProvider is a field in the Activity
    mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_share)
            .getActionProvider();
    mShareActionProvider
            .setShareHistoryFileName(null);
    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    mShareActionProvider.setShareIntent(shareIntent);
    mShareActionProvider.onCreateActionView();
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以解决这个问题?

android android-intent android-actionbar shareactionprovider

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

HttpsURLConnection连接问题

我有一个HttpsURLConnection的问题,我似乎无法解决.基本上,我正在向服务器发送一些信息,如果其中一些数据错误,服务器会向我发送500响应代码.但是,它也会在响应中发送一条消息,告诉我哪个数据位错误.问题是当我读取它时消息总是空的.我认为这是因为在读取流之前总会抛出一个filenotfound异常.我对吗?我也试过读错误流,但这总是空的.这是一个片段:

    conn = (HttpsURLConnection) connectURL.openConnection();
    conn.setDoOutput(true);
    conn.setConnectTimeout(30000);
    conn.setReadTimeout(30000);
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Length",
         Integer.toString(outString.getBytes().length));
    DataOutputStream wr = new DataOutputStream(conn
      .getOutputStream());
    wr.write(outString.getBytes());
    wr.flush();
    wr.close();
    if(conn.getResponseCode>400{

    String response = getErrorResponse(conn);

    public String getErrorResponse(HttpsURLConnection conn) {
    Log.i(TAG, "in getResponse");
    InputStream is = null;
    try {

     //is = conn.getInputStream();
    is = conn.getErrorStream();
    // scoop up the reply from the server
    int ch;
    StringBuffer sb = new StringBuffer();
    while ((ch = is.read()) != -1) {
     sb.append((char) ch);
    }
    //System.out.println(sb.toString());
    return sb.toString();
    // return conferenceId;
   }
    catch (Exception e){ …
Run Code Online (Sandbox Code Playgroud)

java android httpurlconnection

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