标签: android-ui

从AsyncTaskLoader更新UI

我已将我转换AsyncTaskAsyncTaskLoader(主要用于处理配置更改).我有TextView我使用的进展状况,并使用onProgressUpdateAsyncTask更新它.它看起来不像AsyncTaskLoader是等价的,所以在loadInBackground(AsyncTaskLoader我)使用它时:

getActivity().runOnUiThread(new Runnable() {
    public void run() {
        ((TextView)getActivity().findViewById(R.id.status)).setText("Updating...");
    }
});
Run Code Online (Sandbox Code Playgroud)

我正在使用它Fragment,这就是我使用的原因getActivity().这项工作非常顺利,除非发生配置更改,例如更改屏幕方向.我AsyncTaskLoader一直在跑(这就是为什么我正在使用AsyncTaskLoader),但runOnUiThread似乎被跳过了.

不知道为什么会被跳过,或者这是从更新UI的最佳方式 AsyncTaskLoader.

更新:

我最终恢复了一个,AsyncTask因为它似乎更适合UI更新.希望他们能将合并的东西合并到AsyncTask一起AsyncTaskLoader.

android android-ui android-asynctask asynctaskloader

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

自动填充文本框,突出显示建议列表中的键入字符

我一直在努力AutoCompleteTextView.当我们输入时,我能够在下拉列表中获得建议和所有建议.

至今

我的问题是:我们可以在建议下拉列表中突出显示键入的字符吗?

android autocompletetextview android-ui android-listview

5
推荐指数
2
解决办法
3881
查看次数

在android中创建自定义后退按钮

我有一个具有菜单的应用程序,根据您在菜单中按下的按钮,将打开一个新活动.我想在每个屏幕上都有一个后退按钮,可以将您带到上一个屏幕,所以我想知道我该如何解决这个问题?

以下是我使用的一些代码:

backButton = (ImageButton) findViewById(R.id.back_button);
        backButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {


                finish();

            }
        });
Run Code Online (Sandbox Code Playgroud)

然而,对于我来说,将此代码放在我的所有活动中并不是一个好的编程习惯.我如何创建某种堆栈来保存所有查看的页面并使用它来返回上一页?

我必须在我的应用程序中放置一个后退按钮,因此我无法使用ActionBar中的现有按钮.

android android-ui android-button

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

如何在ListView为空时显示它的标题

我正在开发以下屏幕

在此输入图像描述

彼此相邻的四个盒子是按钮.点击按钮后,我正在更改列表视图的适配器.

由于listview上方的内容占用了大量空间,因此我将整个内容作为标题并通过代码添加.

   myPollsList = (ListView) findViewById(R.id.listArea);
myPollsList.addHeaderView(getLayoutInflater().inflate(R.layout.profile_listview_header, null));
Run Code Online (Sandbox Code Playgroud)

现在我想在列表为空时显示一些视图.但如果我这样做,那么标题也会消失.

我在Activity中使用它而不是ListActivity.即使列表为空,显示标题的任何建议或解决方法?

编辑:请参阅我之前的问题,这里ListView没有空间来显示较小屏幕上的内容.这是有人建议我通过将其作为标题来解决问题的地方

android android-ui android-layout android-listview

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

Arc菜单项样式,如适用于Android的tumblr应用程序

我调整了https://github.com/daCapricorn/ArcMenu库,使其工作从我的目的,这是正常的.无论如何我可以像tumblr应用程序一样构建一个菜单,还是可以通过调整ArcMenu项目或https://github.com/siyamed/android-satellite-menu来实现?我对用于创建样式的数学函数有疑问.

我正在寻找类似于tumblr app动画的动画.

在此输入图像描述

android android-custom-view android-ui android-layout android-menu

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

Android加载自定义数字选择器Drawable [图片内部]

左边是android的默认数字选择器.如果我有可绘制的图像,是否可以加载右侧的自定义数字选择器?

NumberPicker

android android-ui numberpicker

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

调用playSoundEffect时没有单击

我在onCreate中为我的按钮添加了一个监听器:

Button enterButton = (Button) findViewById(R.id.buttonEnter);
    enterButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            v.playSoundEffect(SoundEffectConstants.CLICK);
        }
    });
Run Code Online (Sandbox Code Playgroud)

按钮有

android:soundEffectsEnabled="true" 
Run Code Online (Sandbox Code Playgroud)

调试器在onClick()例程中停止,因此进行调用,但不会发生单击.在附近的editText框中听到键盘点击,因此不是系统设置的问题.还有什么呢?

android android-ui

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

圆角按钮:我哪里错了

我想创建圆角按钮.这是我试过的:

我已经定义了按钮的背景drawable button_bg.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_enabled="false"
        android:drawable="@color/grey">

        <shape>
          <solid
              android:color="#ef4444" />
          <stroke
              android:width="1dp"
              android:color="#992f2f" />
          <corners
              android:radius="16dp" />
        </shape>
    </item>


    <item
        android:state_pressed="true"
        android:state_enabled="true"
        android:drawable="@color/dark_grey"
    >
        <shape>
          <solid
              android:color="#ef4444" />
          <stroke
              android:width="1dp"
              android:color="#992f2f" />
          <corners
              android:radius="16dp" />
        </shape>
    </item>


    <item
        android:state_enabled="true"
        android:drawable="@color/blue"
    >
        <shape>
          <solid
              android:color="#ef4444" />
          <stroke
              android:width="1dp"
              android:color="#992f2f" />
          <corners
              android:radius="16dp" />
        </shape>

    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

然后,我将它应用于布局文件中的按钮:

<Button
      android:text="@string/press_me"
      android:layout_margin="12dp"
      android:layout_width="fill_parent"
      android:layout_height="30dp"

      android:background="@drawable/button_bg"
/>
Run Code Online (Sandbox Code Playgroud)

但我的按钮仍然显示尖角而不是圆形,为什么?

(请不要只是给我一个关于如何制作圆角的链接,上面的代码遵循那些教程,我只是想知道我哪里错了.谢谢)

android android-ui android-layout

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

使用Espresso测试ViewPager和TabPageIndicator

我似乎无法找到使用Espresso测试ViewPager + TabPageIndicator设置的任何示例.我的应用程序有一个自定义的TabPageIndicator,在选择Tab时会更新相应的ViewPager页面.任何方向都会有所帮助!

android android-ui android-espresso

5
推荐指数
0
解决办法
752
查看次数

按下返回按钮时,Android runOnUiThread崩溃

我正在使用DownloadManager从服务器下载文件,正在从适配器下载文件,并且正在使用runOnUiThread在片段中显示下载进度。它工作得很好,但是当我在下载时按返回按钮时,runOnUiThread会引发NullPointerException。我尝试使用if语句将变量放在onPause中以停止该方法,但它也不起作用。

您建议如何解决此崩溃问题?

这是我的代码:

new Thread(new Runnable() {
                        @Override
                        public void run() {

                            downloading = true;

                            while (downloading) {

                                DownloadManager.Query q = new DownloadManager.Query();
                                q.setFilterById(myDownloadReference);

                                Cursor cursor = downloadManager.query(q);
                                cursor.moveToFirst();
                                int bytes_downloaded = cursor.getInt(cursor
                                        .getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
                                int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));

                                if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_SUCCESSFUL) {
                                    downloading = false;
                                    downloadingDocs.remove(doc);

                                    //remove the progressBar when download is complete
                                    fragment.getActivity().runOnUiThread(new Runnable() {
                                        @Override
                                        public void run() {
                                            finalHolder2.downloadProgress.setVisibility(View.INVISIBLE);
                                        }
                                    });

                                    //check if it's the last download and open it.
                                    if (downloadingDocs.size() == 0) {
                                        actionIntentOpenDocs(doc, …
Run Code Online (Sandbox Code Playgroud)

android asynchronous nullpointerexception android-ui android-adapter

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