小编use*_*637的帖子

EditText包含单行文本,换行和完成操作?

我正在尝试EditText使用软键进行编辑时具有以下特征.我准备了文档,在这里搜索,玩参数但找不到工作配置.

  1. EditView屏幕上的视图有几行高度(例如3-4).
  2. 内容文本是一行(即没有换行符).
  3. 如果内容文本长于视图的宽度,则应该换行到下一行
  4. 软键的Enter键显示完成操作标签.

我可以实现{1,2,3}和{1,2,4}但不能实现{1,2,3,4}.我的理由是,由于内容是单行(没有换行符),因此不使用Enter键,因此应该能够更改为Done标签.

我的设置代码如下所示

editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE);
editText.setHorizontallyScrolling(false);
editText.setSingleLine(false);
// This does not work. Soft keyboard has Enter action.
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
Run Code Online (Sandbox Code Playgroud)

可能吗?有什么建议吗?

android android-edittext

23
推荐指数
2
解决办法
7291
查看次数

如何在午夜更新应用小部件?

我的应用程序有一个显示今天日期的小部件,需要在午夜更新.窗口小部件在清单中定义为

<manifest>
    ...
    <application>
        ...
        <receiver
            android:name=".MyWidgetProviderClass"
            android:label="MyLabel" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_icon_info" />
        </receiver>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

小部件信息文件是

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/my_layout"
    android:minHeight="40dp"
    android:minWidth="294dp"
    android:updatePeriodMillis="3600000" >
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)

这会导致小部件在午夜和下午1点之间的任何时间更新,但我想更新到更接近午夜,所以我在应用程序中添加了一个意图接收器

<receiver
     android:name=".MyWidgetUpdaterClass"
     android:enabled="true" >
     <intent-filter>
         <action android:name="MyAction" />
      </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

和静态方法

public static void setMidngintAlarms(Context context) {
    Intent intent = new Intent("MyAction");
    PendingIntent pendingIntent = 
        PendingIntent.getBroadcast(context, 0, intent, 0);              
    long interval = 24*60*60*1000;        
    long firstTime = SystemClock.elapsedRealtime() + 
        millisecondsToNextMidnight();
    AlarmManager am = (AlarmManager)context.getSystemService(
        Context.ALARM_SERVICE);
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                    firstTime, interval, pendingIntent);
} …
Run Code Online (Sandbox Code Playgroud)

android android-widget alarmmanager android-service android-alarms

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