۱۳۹۸/۰۶/۱۷, ۰۱:۰۱ ق.ظ
(۱۳۹۵/۰۶/۲۳, ۱۰:۳۰ ق.ظ)shimasariri نوشته:(۱۳۹۵/۰۶/۱۲, ۱۰:۳۳ ب.ظ)akbarg64 نوشته: با سلام و خسته نباشید . من از این کد برای نمایش تصویر تصادفی در ویجت استفاده می کنم. اما متاسفانه هیچ اتفاقی نمیوفته. ممنون میشم راهنمایی کنید.
کد پیاچپی:package ir.akbar.widget;
/**
* Created by Akbar on 09/02/2016.
*/
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import java.util.Random;
import android.R.drawable;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RemoteViews;
public class ExampleAppWidgetProvider extends AppWidgetProvider {
int max = 16;
int score = 0;
String imgName;
Random rand = new Random();
String uri = "@drawable/img1.png";
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
final int N = appWidgetIds.length;
Log.i("ExampleWidget", "Updating widgets ");
for (int i = 0; i < appWidgetIds.length; i++) {
Random r = new Random();
int min = 1;
int max = 721;
int id3 = r.nextInt(max) + min;
int id2 = id3 - 1;
Resources res = context.getResources();
int rndN = rand.nextInt(5) + 1;
String imgName = "img" + rndN;;
int id = context.getResources().getIdentifier(imgName, "drawable", context.getPackageName());
if (id == id) {
id = context.getResources().getIdentifier(imgName, "drawable", context.getPackageName());
id2 = id3 - 1;
}
int appWidgetId = appWidgetIds;
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget1);
views.setImageViewResource(R.id.image_in_widget, id);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
سلام
دوست من یه لینک برات میذارم که میتونی ازش کمک بگیری مشکلتو برطرف کنی
لینک کمکی
سلام
شما برای تغییر تصادفی تصاویر میتونید اسم تصاویر توی ارایه نگهدارید و با ایجاد تابع رندوم از صفر تا مقدار ایندکس ارایه که موجود استفاده کنی، برای اجرای مداوم یک دستور هم میتونی از timer استفاده کنی، از کلاس های سرویس هم برای کارت میتونی استفاده کنی که ویجت رو آپدیت کنه ولی خب بازم از timer برای اجرای دستورت بصورت بازه زمانی باید استفاده کنی
ErfanMahigir