gpt4 book ai didi

android - AppWidgetHostView 无法处理任何点击事件?

转载 作者:行者123 更新时间:2023-11-30 03:57:34 25 4
gpt4 key购买 nike

我正在创建一个 android 启动器并想实现 appWidgets。为了进行测试,我使用了 com.android.quicksearchbox 小部件并将其添加到屏幕顶部。问题是,我正在使用 AppWidgetHostView,它似乎没有注意到用户所做的任何点击或触摸事件。谁能告诉我为什么?这是我所有的 appWidgets 代码(在 onCreate(Bundle) 函数中):

    android.appwidget.AppWidgetManager appWidgetManager = android.appwidget.AppWidgetManager.getInstance(this);
android.appwidget.AppWidgetHost appWidgetHost = new android.appwidget.AppWidgetHost(this, 0);
android.appwidget.AppWidgetProviderInfo newAppWidgetProviderInfo = new android.appwidget.AppWidgetProviderInfo();


int appWidgetId = appWidgetHost.allocateAppWidgetId();


List<android.appwidget.AppWidgetProviderInfo> appWidgetInfos = new ArrayList<android.appwidget.AppWidgetProviderInfo>();
appWidgetInfos = appWidgetManager.getInstalledProviders();

for(int j = 0; j < appWidgetInfos.size(); j++)
{
if (appWidgetInfos.get(j).provider.getPackageName().equals("com.android.quicksearchbox"))
{

newAppWidgetProviderInfo = appWidgetInfos.get(j);
break;
}
}



android.appwidget.AppWidgetHostView hostView = appWidgetHost.createView(this, appWidgetId, newAppWidgetProviderInfo);
hostView.setAppWidget(appWidgetId, newAppWidgetProviderInfo);


android.widget.LinearLayout ll = (android.widget.LinearLayout) findViewById(R.id.loll);
ll.addView(hostView, 0);

loll 是我的 LinearLayout。

所以有人知道如何启用事件吗?或者是否有另一种方法可以将应用程序小部件添加到我的启动器?

谢谢。

最佳答案

我不确定代码是否完整,但您至少需要在 Activity 中添加以下内容。

@Override
protected void onStart() {

super.onStart();

Host.startListening();

}



@Override

protected void onStop() {

super.onStop();

Host.stopListening();

}

这有意义吗?

关于android - AppWidgetHostView 无法处理任何点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13109404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com