简体   繁体   English

如何在Android中将视图作为参数传递?

[英]How can I pass view as parameter in android?

I want to create notification daily in my android app. 我想每天在我的Android应用程序中创建通知。 For the purpose I made a createNotification method. 为此,我做了一个createNotification方法。 Now, I want to call the method at a particular time. 现在,我想在特定时间调用该方法。 My mainactivity.java is as follows: 我的mainactivity.java如下:

package com.example.shiza.dailyquranquote;

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;

import java.util.Calendar;
import java.util.Date;


public class MainActivity extends ActionBarActivity {
    Date startDate= new Date("03/31/2015 12:00:00");
    Date endDate = new Date();
    TextView textView ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView)findViewById(R.id.verse);
        long startDay = startDate.getTime() / 1000 / 60 / 60 / 24;
        long endDay = endDate.getTime() / 1000 / 60 / 60 / 24;
        long daysBetween = endDay - startDay;
        SharedPreferences sharedPreferences = getSharedPreferences("QuranVerse",0);
        String id = ""+ (daysBetween % 365) ;
        String verse = sharedPreferences.getString(id, "");

        if (verse == null)
        {
            verse ="Sufficient is Allah for me; There is no power except Him; And in Him I put my trust.";
        }

        Calendar rightNow = Calendar.getInstance();
        textView.setText(verse + "current hour is" + rightNow.HOUR_OF_DAY);
        if ( rightNow.HOUR_OF_DAY == 11 )
        {
            createNotification();
        }
    }

    public void goToInsertVerse(View v)
    {
        Intent intent = new Intent(this,InsertVerse.class);
        startActivity(intent);
    }
    public void goToGetVerse(View v)
    {
        Intent intent = new Intent(this,GetVerse.class);
        startActivity(intent);
    }
    public void createNotification(View view) {
        // Prepare intent which is triggered if the
        // notification is selected
        Intent intent = new Intent(this, MainActivity.class);
        PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);

        // Build notification
        // Actions are just fake
        Notification noti = new Notification.Builder(this)
                .setContentTitle("New mail from " + "test@gmail.com")
                .setContentText("Subject").setSmallIcon(R.drawable.background)
                .setContentIntent(pIntent)
                .build();
        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // hide the notification after its selected
        noti.flags |= Notification.FLAG_AUTO_CANCEL;

        notificationManager.notify(0, noti);

    }
}

Now I need to pass view as a parameter to createNotification . 现在,我需要将view作为参数传递给createNotification I am unable to do it. 我做不到。 How I can achieve it? 我该如何实现?

用户setContent方法将“ RemoteViews ”作为参数

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM