بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل ارتباط اکتیویتی اصلی با ویجت (حل شد)
سلام
این ویجت من هستش
و همه ی قسمت هاش درست کار میکنه فقط یه مشکلی هست اونم اینکه میخوام وقتی روی دکمه Set Name کلیک کردم به جای Name داخل ویجت اسم وارد شده داخل EditeText جایگزین بشه
داخل اینترنت هم گشتم چیزه درستو حسابی نبود
اینم کد هام :
ویجت
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); final int count = appWidgetIds.length; for (int i = 0; i < count; i++) { int widgetId = appWidgetIds[i]; G.num++; Log.i("Number", G.num + ""); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget1); remoteViews.setTextViewText(R.id.textView, "" + G.num); Intent intent = new Intent(context, ExampleAppWidgetProvider.class); intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); remoteViews.setOnClickPendingIntent(R.id.bRefresh, pendingIntent); appWidgetManager.updateAppWidget(widgetId, remoteViews); }
}
اینم اکتیویتی اصلی :
public class SimpleWidgetActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* * * * ???????????????????????????????? * * * * * */ } }
ممنون میشم کمک کنید
0
0
کسی تا به حال با ویجت ها کار نکرده یعنی ؟ (8 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخ به سوال
FSR
8 سال پیش
+1
0
پاسخ صحیح
btnSet.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { Context context = SimpleWidgetActivity.this; AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget1); ComponentName thisWidget = new ComponentName(context, ExampleAppWidgetProvider.class); remoteViews.setTextViewText(R.id.txtTitel, edt.getText().toString()); appWidgetManager.updateAppWidget(thisWidget, remoteViews); finish(); } });
از من میشنوید دور ویجت رو خط بکشید خیلی نحوه ی کد نویسش افتضاح هستش فکر کنم یکی از دلایلی که استاد این قسمت رو آموزش ندادن همین هست ! کلا تمام قواعد کد نویسی رو زیر پا گذاشتن جالب اینجاست که فقط میتونی از تعداد محدودی از کنترل ها استفاده کنی ! با این وجود اگه باز خواستید بگید آموزشش رو تویه یه تاپیک جداگونه بزارم ! (8 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .