小编Ale*_*IIP的帖子

方向更改后Android DialogFragment消失

我有一个FragmentActivity支持v4类,它实现了两个并排(类似gmail)片段和一个可以调出DialogFragment的按钮.

除非我有方向改变,否则这一切都很有效.当我有方向更改时,不会保存片段的状态.

主要问题是如果我打开了FragmentDialog,它就会消失.

我已经设置setRetainInstance(true);了所有碎片,但它没有帮助.

在我的清单中,我包括android:configChanges="orientation"但仍然没有帮助.

以下是我的代码示例,感谢您的帮助.

public class AddMasterDialog extends DialogFragment {

    private int mTitle;
    private int mPrompt;
    private OnClickListener onSaveListener;
    private OnClickListener onCancelListener;

    public AddMasterDialog newInstance(int title, int prompt) {
        AddMasterDialog simpleDialog = new AddMasterDialog(title, prompt);
        return simpleDialog;
    }

    public AddMasterDialog() {
        // Empty constructor required for DialogFragment
    }
    public AddMasterDialog(int title, int prompt) {
        // Empty constructor required for DialogFragment
        mTitle = title;
        mPrompt = prompt;
    }
    public void setSaveButton(OnClickListener save){
        onSaveListener = save; …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle android-fragments android-dialogfragment

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

Android首选项片段文本颜色

我想更改android偏好片段中的文本颜色.我目前正在使用自定义主题来更改复选框图像,背景,onClick突出显示,这一切都很有效...除了文本颜色.我不想使用默认主题,我想拥有自己的主题,所以它看起来我想要的只是改变文本颜色,有人可以帮助.

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="selectedTextStyle">  
        <item name="android:textSize">18sp</item>
    </style>
    <style name="buttonTextStyle">  
        <item name="android:textSize">20sp</item>
    </style>
    <style name="PreferencesTheme" >
        <item name="android:windowBackground">@drawable/lists_background</item>
        <item name="android:listViewStyle">@style/listViewPrefs</item>
        <item name="android:checkboxStyle">@style/MyCheckbox</item>

    </style>
    <style name="MyTextAppearance" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/black</item>
      </style>
    <style name="listViewPrefs" parent="@android:Widget.ListView">
        <item name="android:listSelector">@layout/list_selector_master</item>
        <item name="android:textAppearance">@style/MyTextAppearance</item>
    </style>
    <style name="MyCheckbox" parent="android:Widget.CompoundButton.CheckBox">
        <item name="android:button">@drawable/btn_check</item>
    </style>

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

表现:

        <activity
            android:name="com.package.SettingsActivity"
            android:theme="@style/PreferencesTheme"
            android:configChanges="keyboard|orientation" >
        </activity>
Run Code Online (Sandbox Code Playgroud)

活动:

import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceFragment;

public class SettingsActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Display the fragment as …
Run Code Online (Sandbox Code Playgroud)

android android-preferences android-theme

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

Android Espresso Ui测试验证ActionPage的标签文本

我正在尝试使用Espresso测试ActionPage的文本.但是,当我运行Ui Automation Viewer时,我可以看到ActionPage显示为View而不是ActionView,它没有TextView.

我试过像这样检查ActionLabel文本,但这不起作用:

onView(withClassName(equalToIgnoringCase("android.support.wearable.view.ActionLabel"))).check(matches(withText("MyText")));
Run Code Online (Sandbox Code Playgroud)

我有一个我的ActionPage的ID,所以我可以找到它onView(withId(R.id.actionPage))但我不知道如何访问它的孩子来获取ActionLabel文本.我尝试编写自定义匹配器,但这也不起作用:

onView(withId(R.id.actionPage)).check(matches(withChildText("MyText")));

static Matcher<View> withChildText(final String string) {
        return new BoundedMatcher<View, View>(View.class) {
            @Override
            public boolean matchesSafely(View view) {
                ViewGroup viewGroup = ((ViewGroup) view);
                //return (((TextView) actionLabel).getText()).equals(string);
                for(int i = 0; i < view.getChildCount(); i++){
                    View child = view.getChildAt(i);
                    if (child instanceof TextView) {
                        return ((TextView) child).getText().toString().equals(string);
                    }
                }
                return false;
            }

            @Override
            public void describeTo(Description description) {
                description.appendText("with child text: " + string);
            }
        };
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我,ActionLabel似乎没有自己的id,它不是TextView ...我怎么能检查它里面的文字?

+------>FrameLayout{id=-1, visibility=VISIBLE, width=320, height=320, …
Run Code Online (Sandbox Code Playgroud)

android ui-automation android-testing android-espresso

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

设置固定GridView行高

我在GridView中遇到行高的各种问题.

我想用XML设置项目的大小(高度/宽度)然后让GridView自动调整尽可能多的没有拉伸.如果它不适合下一个元素,它应该只在它能够适应的当前元素数量周围添加填充.

目前我得到2列(对我来说几乎看起来固定大小)并且行被拉伸.有人可以帮助解释发生了什么以及如何实现我想要的东西吗?

网格视图:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/main_grid"
    android:numColumns="auto_fit"
    android:gravity="center"
    android:paddingRight="20dp"
    android:paddingLeft="20dp"
    android:clipToPadding="true"
    android:fitsSystemWindows="true"
    android:stretchMode="none"
    android:background="@drawable/main_grid_background">

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

GridItem(我想要它320x320,因为我后来插入一个背景图像,如果它不是一个完美的正方形,看起来很奇怪).

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="320dp"
    android:layout_height="320dp"
    android:padding="10dp" >

    <TextView
        android:id="@+id/grid_item_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="@+id/label"
        android:layout_marginTop="5dp"
        android:textColor="@color/black"
        android:textSize="15sp"
        android:visibility="invisible"
        android:layout_centerInParent="true" >
    </TextView>

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

Java的:

public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View gridView;

        if (convertView == null) {

            gridView = new View(context);

            // get layout from mobile.xml
            gridView = inflater.inflate(R.layout.main_grid_item, …
Run Code Online (Sandbox Code Playgroud)

android android-gridview

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

JQuery Mobile - 覆盖整个身体的字体系列主题

我最近在我的网站上添加了jQuery mobile.

然而,jQuery主题打破了我以前的字体.虽然我的大多数页面工作得很好,尤其是漂亮的jQuery Mobile滑块,但我遇到了字体的真正问题.

我有自定义字体设置,他们没有jquery移动CSS正常工作.但是,一旦我包含jquery mobile css,它就会覆盖我的字体.

我已经尝试将data-role ="none"添加到body和div但是没有帮助.

我也尝试添加data-theme ="none",但这也无济于事.

有没有办法在我的页面主体上禁用jQuery自定义字体系列主题?

谢谢您的帮助.

javascript css jquery-ui themeroller jquery-mobile

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

Android注册连接到Windows作为HID客户端

在做了一些初步搜索后,我无法找到有关如何将android注册为HID客户端的更多信息.也就是说,我希望能够将鼠标控制从我的手机发送到PC,基本上是从机器人控制我的电脑,好像机器人是鼠标一样.看起来很简单...因为windows已经有通过蓝牙HID通道的默认通用鼠标驱动程序......但是......

在做了一些阅读之后,看起来android似乎阻止了L2CAP频道上的HID中断和HID控制通道......也就是说,我无法在Windows上将我的机器人注册为HID鼠标......

以下是我在某人尝试使用Google代码时发现的内容... http://groups.google.com/group/android-developers/browse_thread/thread/73f03a22963b356d?pli=1

有关该主题的更多知识的人可以确认android不允许你这样做...

感谢您的时间和帮助.

mouse android bluetooth driver hid

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

用于Honeycomb和ICS的Android ListView拖放"错误:报告丢弃结果:false"

我一直在尝试创建一个ListView,我可以使用拖放进行排序.

我试图遵循了Android指南这里和一些源代码上设置上的Git 这里.此外,我不想使用音乐应用程序示例,因为我正在尝试使用Honeycomb中提供的新工具.

到目前为止,我已成功创建列表,我可以拖动项目.不幸的是,当我将项目放入列表时,我收到以下错误:

"I/ViewRoot(22739):报告丢弃结果:false".

我怀疑我的drop listener不是在正确的项目上创建的,因此drop永远不会被调用.这是一些源代码,非常感谢你的帮助.

XML列表:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dropTarget"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     android:layout_weight="1">
    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@android:id/list" >
    </ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的listView:我还没有进入"ACTION_DROP"事件,所以代码没有经过测试.只是我正在做的事情.我的主要问题是我从未进入ACTION_DROP.

public class procedureListView extends ListActivity {
    private ListView mListView = null;
    private ArrayAdapter<String> mArrayAdapter = null;
    private View layoutDropArea = null;

    public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.list);

          String[] countries = getResources().getStringArray(R.array.arrayOfStuff);
          mArrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item, countries);
          setListAdapter(mArrayAdapter);

          mListView = getListView();
          mListView.setTextFilterEnabled(true);

          layoutDropArea = findViewById(R.id.dropTarget);

          setupDragDrop();
    }
    /**
     * Setup what …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop android-listview

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

在 Android 中的 playTogether AnimatorSet 中对连续 AnimatorSet 进行动画处理

我正在尝试使用 AnimatorSets 链接一组动画。

我有这样的事情:

AnimatorSet sequentialSet = new AnimatorSet();
sequentialSet.playSequentially(animOne, animTwo, animThree);

AnimatorSet togetherSet = new AnimatorSet();
togetherSet.playTogether(sequentialSet, animFour, animFive);
togetherSet.setDuration(ANIM_TIMEOUT);
togetherSet.start();
Run Code Online (Sandbox Code Playgroud)

然而,发生的情况是,animOne 与 animFour 和 animFive 一起制作动画,然后动画 animTwo 和 animThree 发生。有没有人见过这个,有没有办法让动画 animOne、animTwo、animThree 与 animFour 和 animFive 同时执行?

谢谢您的帮助。

animation android android-animation

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