Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android主屏幕小部件,有人能告诉我在主屏幕小部件中可以使用什么吗,我可以使用autocompletetextview吗?_Android_Android Widget - Fatal编程技术网

android主屏幕小部件,有人能告诉我在主屏幕小部件中可以使用什么吗,我可以使用autocompletetextview吗?

android主屏幕小部件,有人能告诉我在主屏幕小部件中可以使用什么吗,我可以使用autocompletetextview吗?,android,android-widget,Android,Android Widget,有谁能告诉我,我是否可以在我的主屏幕小部件中使用autocompletetextview,或者如果没有,我可以在主屏幕小部件中使用什么,或者我如何将它连接到我的autocomplete,因为我需要某种输入小部件。如果有人能引用我或粘贴一些以前有相同问题的代码,那就太好了,因为我有红色的标签,可能无法将输入机制作为主屏幕小部件D谢谢 这是我的xml 您不能在小部件中使用任何类型的“编辑文本”。如果必须这样做,只需在单击小部件时打开一个对话框,然后在那里完成工作 请注意,只有这些小部件才

有谁能告诉我,我是否可以在我的主屏幕小部件中使用autocompletetextview,或者如果没有,我可以在主屏幕小部件中使用什么,或者我如何将它连接到我的autocomplete,因为我需要某种输入小部件。如果有人能引用我或粘贴一些以前有相同问题的代码,那就太好了,因为我有红色的标签,可能无法将输入机制作为主屏幕小部件D谢谢

这是我的xml



您不能在小部件中使用任何类型的“编辑文本”。如果必须这样做,只需在单击小部件时打开一个对话框,然后在那里完成工作

请注意,只有这些小部件才允许在小型机中使用:

  • 模拟时钟
  • 钮扣
  • 天文钟
  • 图像按钮
  • 图像视图
  • 进度条
  • 文本视图

小部件中不能使用editText或autocomplete,只能作为按钮图片或列表, 下面是小部件的一些代码

Override
public void onReceive(Context ctxt, Intent intent)
{
    if(intent.getAction()==null)
    {
        ctxt.startService(new Intent(ctxt,ToggleService.class));
    }
    else
    {
        super.onReceive(ctxt, intent);
    }

}

@Override
public void onUpdate(Context context,AppWidgetManager appWidgetManager, int [] appWidgetIds)
{
    context.startService(new Intent(context,ToggleService.class));
    //RemoteViews buildUpdate(context);
}

public static class ToggleService extends IntentService
    {
    public ToggleService() {
        super("AppWidget$ToggleService");

        }



@Override
protected void onHandleIntent(Intent intent)
{
    ComponentName me = new ComponentName(this,AppWidget.class);
    AppWidgetManager mgr= AppWidgetManager.getInstance(this);
    mgr.updateAppWidget(me,buildUpdate(this));
}

private RemoteViews buildUpdate(Context context)
{
    RemoteViews updateViews=new RemoteViews(context.getPackageName(),R.layout.widget);
    AudioManager audioManager=(AudioManager)context.getSystemService(Activity.AUDIO_SERVICE);
    if(audioManager.getRingerMode()==AudioManager.RINGER_MODE_SILENT)
    {
        updateViews.setImageViewResource(R.id.phoneState,R.drawable.silent);
        audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

    }
    else {
        updateViews.setImageViewResource(R.id.phoneState,R.drawable.phone123);
        audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

    }
    Intent i=new Intent(this, AppWidget.class);
    PendingIntent pi= PendingIntent.getBroadcast(context,0, i,0);
    updateViews.setOnClickPendingIntent(R.id.phoneState,pi);
    return updateViews;
}

  }
  }

看到这个可以帮助:@Keyhan Asghari:Dialog也不可能从主屏幕小部件打开。所以只有一种方法,在小部件上启动一个活动单击你的意思是像调用我的主活动(因为我只有一个屏幕(类))不是主活动如果是你的小部件配置活动,任何具有透明背景和小高度、宽度的新活动。
   <ProgressBar
       android:id="@+id/progressBar1"
       android:layout_width="35dp"
       android:layout_height="35dp" />
Override
public void onReceive(Context ctxt, Intent intent)
{
    if(intent.getAction()==null)
    {
        ctxt.startService(new Intent(ctxt,ToggleService.class));
    }
    else
    {
        super.onReceive(ctxt, intent);
    }

}

@Override
public void onUpdate(Context context,AppWidgetManager appWidgetManager, int [] appWidgetIds)
{
    context.startService(new Intent(context,ToggleService.class));
    //RemoteViews buildUpdate(context);
}

public static class ToggleService extends IntentService
    {
    public ToggleService() {
        super("AppWidget$ToggleService");

        }



@Override
protected void onHandleIntent(Intent intent)
{
    ComponentName me = new ComponentName(this,AppWidget.class);
    AppWidgetManager mgr= AppWidgetManager.getInstance(this);
    mgr.updateAppWidget(me,buildUpdate(this));
}

private RemoteViews buildUpdate(Context context)
{
    RemoteViews updateViews=new RemoteViews(context.getPackageName(),R.layout.widget);
    AudioManager audioManager=(AudioManager)context.getSystemService(Activity.AUDIO_SERVICE);
    if(audioManager.getRingerMode()==AudioManager.RINGER_MODE_SILENT)
    {
        updateViews.setImageViewResource(R.id.phoneState,R.drawable.silent);
        audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

    }
    else {
        updateViews.setImageViewResource(R.id.phoneState,R.drawable.phone123);
        audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

    }
    Intent i=new Intent(this, AppWidget.class);
    PendingIntent pi= PendingIntent.getBroadcast(context,0, i,0);
    updateViews.setOnClickPendingIntent(R.id.phoneState,pi);
    return updateViews;
}

  }
  }