任何人都可以告诉我,如果我可以在我的主屏幕小部件中使用autocompletetextview,或者如果不能在主屏幕小部件中使用什么,或者我如何将它与我的自动完成一致,因为我想要某种输入小部件。如果有人可以引用我或粘贴一些具有相同问题的代码,那将是很好的,因为我有红色,可能无法将输入机制作为主屏幕小部件! :D谢谢。
这是我的xml
android:id="@+id/autoDeni"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_gravity="center|top"
android:layout_marginTop="10dp"
android:layout_marginLeft="60dp"
android:maxLines="1"
android:hint="Име...."
/>
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="35dp"
android:layout_height="35dp" />
答案 0 :(得分:1)
您不能在窗口小部件中使用任何类型的“EditText”。如果你必须这样做,只需在点击一个小部件时打开一个对话框并在那里工作。
请注意,只允许在小部件中使用这些小部件:
答案 1 :(得分:0)
无法在窗口小部件中使用editText或自动完成功能,只能用作按钮图片或列表, 这是一些小部件的代码
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;
}
}
}