【问题标题】:How to display images from url in StackView Widget with this如何使用此在 StackView Widget 中显示来自 url 的图像
【发布时间】:2011-08-01 17:53:44
【问题描述】:

我已经为主屏幕构建了一个 stackview 小部件,但我不知道如何将图像加载到其中,以便用户能够翻阅图像并查看不同的图像。

这是我现在使用的代码,这是假设下载图像并设置到远程视图的地方

我不知道如何执行此操作并将其设置为远程视图以显示在小部件中。

这是我正在使用的代码.. 我按照开发者网站上的教程进行操作

http://developer.android.com/resources/samples/StackWidget/index.html

公共类 StackWidgetService 扩展 RemoteViewsService {

@Override
public RemoteViewsFactory onGetViewFactory(Intent intent) {

    return new StackRemoteViewsFactory(this.getApplicationContext(), intent);


}
private static final int mCount = 10;
private List<WidgetItem> mWidgetItems = new ArrayList<WidgetItem>();
private Context mContext;
private int mAppWidgetId;
class StackRemoteViewsFactory implements RemoteViewsService.RemoteViewsFactory{

    public StackRemoteViewsFactory(Context context, Intent intent){

        mContext = context;
        mAppWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);

    }

    @Override
    public int getCount() {

        return mCount;
    }

    @Override
    public long getItemId(int position) {

        return position;
    }

    @Override
    public RemoteViews getLoadingView() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public RemoteViews getViewAt(int position) {

        RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_item);
        rv.setTextViewText(R.id.widget_item, mWidgetItems.get(position).text);

        Bundle extras = new Bundle();
        extras.putInt(stackWidgetProvider.EXTRA_ITEM, position);
        Intent fillnIntent = new Intent();
        fillnIntent.putExtras(extras);
        rv.setOnClickFillInIntent(R.id.widget_item, fillnIntent);

        //Do heavy lifting here, Downloading images from a network or website.

        return rv ;
    }

    @Override
    public int getViewTypeCount() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public boolean hasStableIds() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub

    }

    @Override
    public void onDataSetChanged() {
        // TODO Auto-generated method stub

    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub

    }


}

}

【问题讨论】:

    标签: android


    【解决方案1】:

    您是否尝试过在 drawable 或 assets 文件夹中包含图像,然后从那里加载图像?一旦您知道如何做到这一点,那么从网络或其他网络位置检索图像将是一个更容易的跳转。

    至于从网络上获取图片,请查看:http://asantoso.wordpress.com/2008/03/07/download-and-view-image-from-the-web/

    【讨论】:

    • 是的,我在上面发布的示例中这样做了。我知道如何从网上下载图像。我在整个申请过程中都这样做。问题是我不知道如何将它集成到远程视图 wigdet 的代码中
    • 您需要像构建普通应用程序(而不是小部件)一样构建视图,或者扩展 xml 视图。 rv.addView(ImageView) 等。
    • 哦,我明白了......所以我会做 rv.addView() 然后不管括号内的图像视图是什么?
    猜你喜欢
    • 2021-06-26
    • 2020-06-25
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多