PendingIntent:
创建方法:
getActivity(Context, int, Intent, int),
getBroadcast(Context, int, Intent, int),
getService(Context, int, Intent, int);
RemoteViews的作用:
1.该对象表示了一系列的View对象。
2.RemoteViews所表示的对象运行在另外的进程中。
此项目接着http://yinger-fei.iteye.com/admin/blogs/1173658的创建小部件项目开始写。
这次程序功能:在App Widget中添加Button并实现监听。
1.向App Widget中添加Button
<Button
android:id="@+id/widgetButtonId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="測試用按鈕"
/>
2.为Button绑定处理器
注意:由于App Widget和应用程序运行在不同的进程中(App Widget中的view运行在Home Screen进程中),所以无法按之前惯用的方法绑定监听器。
remoteViews.setOnClickPendingIntent(R.id.widgetButtonId,pendingIntent);
在extends AppWidgetProvider的类中。实现onUpdate方法
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
//ystem.out.println("onupdate");
for(int i=0;i<appWidgetIds.length;i++){
System.out.println(appWidgetIds[i]);
//创建一个Intent对象
Intent intent=new Intent(context,TargetActivity.class);
//创建一个PendingIntent
PendingIntent pendingIntent=PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews remoteViews=new RemoteViews(context.getPackageName(),R.layout.example_appwidget);
//为按钮绑定事件处理器
//参数含义 1 被绑定控件的id 2 事件发生时,那个pendingintent被执行
remoteViews.setOnClickPendingIntent(R.id.widgetButtonId,pendingIntent);
//更新appwidget
//参数含义 1 被更新appwidgetid
appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews);
}
这里显示的效果就是点击button时,跳转到另外一个Activity。使用的是getActivity();
分享到:
相关推荐
ex05:AppWidget 的使用以及 Broadcast 的实现 ex06:简单的音乐播放器 ex07:数据存储 SharedPreferences ex08:数据存储 SQLite 数据库 ex09:网络访问 HTTP get/post WebService ex10:网络服务 使用Ksoap2来...
直接上代码,大家可以参考下 (1)自身类作为事件监听器 ...import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnCli
} //Activity本身作为事件监听起器类,实现的事件处理方法 public void onClick(View v) { txt.setText("Activity"); } } Main.xml <?xml version="1.0" encoding="utf-8"?> ...
Android中button的onClick事件几种方法 利用三种方法,学习button的监听事件。 方法一源码如下: package com.example.androidtest; import android.os.Bundle; import android.app.Activity; import android....
" "(2)在MainActivity的onCreat()方法中,获取布局文件中添加的按钮,并" "为其设置单击事件监听器,实现启动另一个Activity功能; " "(3)创建详细页面Activity布局文件,名称为activity_detail.xml,在该" ...
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="添加标签" android:onClick="addTag"/> <com.ns.developer.tagview.widget.TagCloudLinkView ...
Integer finalNumber) : Set the operational range for the widget(设置最小值、最大值)setOnValueChangeListener(OnValueChangedListener listener): listen for changes in the value(设置监听器)
4.调用百度地图的APP 需要在 AndroidManifest.xml 添加 android:name="baidumapsdk.demo.DemoApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > 这里需要添加key,创建...
addButton.setOnClickListener(new View.OnClickListener() {//给addButton添加事件监听 public void onClick(View v) { // TODO Auto-generated method stub People_mll people=new People_mll(); ...
代码分享: import androidx.appcompat.app....import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.
//设置监听器,当ViewPager中的页面改变时调用 viewPager.setOnPageChangeListener(new MyPageChangeListener()); } @Override protected void onStart() { // TODO Auto-generated method stub ...
//在一个应用中启动另一个应用,在拨号器应用里启动打电话应用 //Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常 //...
- 下拉刷新 上拉加载 及自动加载---------------------------实现监听方便快捷 - RecyclerView设配器------------------------------------------再也不需要写ViewHolder - RecyclerView item加载动画-----------...
现在三个Fragment已经添加到了MainActivity中,滑动ViewPager切换Fragment,同时底部的导航栏也会切换,在为ViewPager添加监听以前,先说说底部导航栏。 第二步,底部导航。 这个的切换其实就是切换准备好的png...
import android.widget.Button; import android.widget.ImageView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ...