如何在小部件中的按钮单击上更新我的TextView?

Ajinkya更多

大家好,我目前正在使用报价应用程序,我已经创建了一个用于报价的小部件,当用户按下按钮时,我还在报价旁边放了一个按钮。textview应该改变了,我已经放弃了这个该死的小部件!通过互联网进行了1000次研究,但没有找到解决方案!任何帮助将不胜感激!我想借助ID更改按钮来更改ID为q1的TextView ...

主要活动:

package com.example.widget;

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.widget.RemoteViews;
import android.widget.Toast;

public class MainActivity extends AppWidgetProvider {

    public static String CHANGE_BUTTON = "com.example.widget.CHANGE_BUTTON";

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
        for (int i = 0; i < appWidgetIds.length; i++) {
            int currentWidgetId = appWidgetIds[i];
            String url = "http://www.tutorialspoint.com";
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse(url));

            RemoteViews views2 = new RemoteViews(context.getPackageName(),
                    R.layout.activity_main);

            Intent intent2 = new Intent(CHANGE_BUTTON);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
                    0, intent2, PendingIntent.FLAG_UPDATE_CURRENT);
            views2.setOnClickPendingIntent(R.id.changes, pendingIntent);

            appWidgetManager.updateAppWidget(currentWidgetId, views2);
            Toast.makeText(context, "Widget Added Successfully!",
                    Toast.LENGTH_SHORT).show();
        }
    }

}

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="top"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <TextView
      android:id="@+id/q1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textSize="20sp"
      android:padding="6dp"
      android:gravity="center"
      android:layout_alignParentTop="true"
      android:text="@string/q1"
      android:background="@drawable/stroke"/>

   <Button
       android:id="@+id/changes"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/q1"
       android:layout_centerHorizontal="true"
       android:text="Change"
       android:layout_marginTop="1dp" />

</RelativeLayout>

widget.xml:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/activity_main"
    android:minHeight="110dp"
    android:minWidth="250dp"
    android:updatePeriodMillis="0" >


</appwidget-provider>
Mohammad Arman |

希望您已经在AndroidMenifest.xml中注册了窗口小部件提供程序,如下所示:

<receiver android:name="MyWidgetProvider" >
            <intent-filter >
                <action 
                    android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/demo_widget_provider" />
        </receiver>

您必须像这样创建广播意图接收器:

public class MyWidgetIntentReceiver extends BroadcastReceiver {

    private static int clickCount = 0;

    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("pl.looksok.intent.action.CHANGE_PICTURE")){
            updateWidgetPictureAndButtonListener(context);
        }
    }

    private void updateWidgetPictureAndButtonListener(Context context) {
        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_demo);
        remoteViews.setImageViewResource(R.id.widget_image, getImageToSet());

        //REMEMBER TO ALWAYS REFRESH YOUR BUTTON CLICK LISTENERS!!!
        remoteViews.setOnClickPendingIntent(R.id.widget_button, MyWidgetProvider.buildButtonPendingIntent(context));

        MyWidgetProvider.pushWidgetUpdate(context.getApplicationContext(), remoteViews);
    }

    private int getImageToSet() {
        clickCount++;
        return clickCount % 2 == 0 ? R.drawable.me : R.drawable.wordpress_icon;
    }
}

而且,您还必须注册广播接收器:

<receiver
    android:name="MyWidgetIntentReceiver"
    android:label="widgetBroadcastReceiver" >
    <intent-filter>
        <action android:name="pl.looksok.intent.action.CHANGE_PICTURE" />
    </intent-filter>

    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/demo_widget_provider" />
</receiver>

可以从此处下载有效的源代码

有关详细信息,请访问此博客

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在单击按钮的确切时刻获得小部件的值FLTK

来自分类Dev

如何在单击小部件中的按钮时显示烤面包并打开蓝牙?

来自分类Dev

如何在窗口小部件提供程序的onReceive方法中更新TextView

来自分类Dev

如何单击小部件中的按钮来关闭覆盖图?

来自分类Dev

如何在小部件的TextView中显示当前时间

来自分类Dev

如何在Kivy中自动更新小部件上的文本?

来自分类Dev

如何在KIVY中删除小部件(标签,按钮等)

来自分类Dev

我应该如何更新我的小部件?

来自分类Dev

如何在for循环中更新标签小部件中的文本?

来自分类Dev

我如何在GTK 3中对齐小部件

来自分类Dev

我如何在python中更改框架小部件的宽度

来自分类Dev

如何在Django中显示我的RadioSelect小部件

来自分类Dev

如何在无效输入上摇动Flutter中的小部件?

来自分类Dev

如何在Flutter中的画布上绘制小部件?

来自分类Dev

如何在Odoo中的选择小部件上启用“键入”?

来自分类Dev

仅当我单击“编辑”按钮时,如何使自定义窗口小部件可编辑?

来自分类Dev

在小部件上单击“这是什么”按钮时如何获得通知?

来自分类Dev

单击小部件上的按钮时更改布局

来自分类Dev

如何在python中使用“按钮”小部件将按钮放置在屏幕上的特定位置?

来自分类Dev

如何在 tkinter 上创建后退按钮/或删除画布上的所有小部件?

来自分类Dev

如何通过单击按钮突出显示(选择)“文本”小部件中的文本?

来自分类Dev

我如何使用居中和列小部件中的align小部件在底部有两个按钮?

来自分类Dev

Android 自定义视图:如何在单个小部件上设置单击侦听器

来自分类Dev

如何访问窗口小部件或刚刚单击的按钮的文本?

来自分类Dev

单击按钮刷新后如何刷新小部件列表视图?

来自分类Dev

处理主屏幕小部件中的按钮单击

来自分类Dev

如何在我的android应用中的搜索小部件上实现Google Places自动完成功能?

来自分类Dev

如何在Qt小部件中删除带有按钮插槽的按钮

来自分类Dev

如何在Qt小部件中删除带有按钮插槽的按钮

Related 相关文章

  1. 1

    我如何在单击按钮的确切时刻获得小部件的值FLTK

  2. 2

    如何在单击小部件中的按钮时显示烤面包并打开蓝牙?

  3. 3

    如何在窗口小部件提供程序的onReceive方法中更新TextView

  4. 4

    如何单击小部件中的按钮来关闭覆盖图?

  5. 5

    如何在小部件的TextView中显示当前时间

  6. 6

    如何在Kivy中自动更新小部件上的文本?

  7. 7

    如何在KIVY中删除小部件(标签,按钮等)

  8. 8

    我应该如何更新我的小部件?

  9. 9

    如何在for循环中更新标签小部件中的文本?

  10. 10

    我如何在GTK 3中对齐小部件

  11. 11

    我如何在python中更改框架小部件的宽度

  12. 12

    如何在Django中显示我的RadioSelect小部件

  13. 13

    如何在无效输入上摇动Flutter中的小部件?

  14. 14

    如何在Flutter中的画布上绘制小部件?

  15. 15

    如何在Odoo中的选择小部件上启用“键入”?

  16. 16

    仅当我单击“编辑”按钮时,如何使自定义窗口小部件可编辑?

  17. 17

    在小部件上单击“这是什么”按钮时如何获得通知?

  18. 18

    单击小部件上的按钮时更改布局

  19. 19

    如何在python中使用“按钮”小部件将按钮放置在屏幕上的特定位置?

  20. 20

    如何在 tkinter 上创建后退按钮/或删除画布上的所有小部件?

  21. 21

    如何通过单击按钮突出显示(选择)“文本”小部件中的文本?

  22. 22

    我如何使用居中和列小部件中的align小部件在底部有两个按钮?

  23. 23

    Android 自定义视图:如何在单个小部件上设置单击侦听器

  24. 24

    如何访问窗口小部件或刚刚单击的按钮的文本?

  25. 25

    单击按钮刷新后如何刷新小部件列表视图?

  26. 26

    处理主屏幕小部件中的按钮单击

  27. 27

    如何在我的android应用中的搜索小部件上实现Google Places自动完成功能?

  28. 28

    如何在Qt小部件中删除带有按钮插槽的按钮

  29. 29

    如何在Qt小部件中删除带有按钮插槽的按钮

热门标签

归档