如何获得有关按钮点击的通知?

用户名

我想要片段中的Button Click事件通知。我尝试了很多,它没有给我任何错误,但是没有显示通知。

main.java

public class OneTimeTask extends Fragment implements View.OnClickListener {
    public OneTimeTask() {
    }

    ;

    String addtask, adddetail, adddate;
    static final int TIME_DIALOG_ID = 999;
    View view;
    EditText taskname, taskdetail, taskdate;
    Button taskadd;
    ProgressDialog mProgressDialog;
    SessionManager session;
    JSONObject jsonobject;   
    private DatePickerDialog fromDatePickerDialog;
    private DatePickerDialog toDatePickerDialog;
    private SimpleDateFormat dateFormatter;
    String uid;
    Intent intent;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.activity_daily__task, container, false);
        getActivity().setTitle("Task");
        taskname = (EditText) view.findViewById(R.id.taskname);
        taskdetail = (EditText) view.findViewById(R.id.taskdetail);
        taskdate = (EditText) view.findViewById(R.id.taskdate);
        taskadd = (Button) view.findViewById(R.id.taskaddtask);

        GetCurrentGPSLocation gps = new GetCurrentGPSLocation(getActivity());
        if (gps.canGetLocation()) {

            // \n is for new line

        }else {
            // can't get location
            // GPS or Network is not enabled
            // Ask user to enable GPS/network in settings
            gps.showSettingsAlert();
        }
        dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
        session = new SessionManager(getActivity());
        HashMap<String, String> user = session.getUserDetails();
        uid = user.get(SessionManager.KEY_ID);
        setDateTimeField();



        return view;
    }
    private void setDateTimeField() {
        taskadd.setOnClickListener(this);

        Calendar newCalendar = Calendar.getInstance();
        fromDatePickerDialog = new DatePickerDialog(getContext(), new DatePickerDialog.OnDateSetListener() {

            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                Calendar newDate = Calendar.getInstance();
                newDate.set(year, monthOfYear, dayOfMonth);
                taskadd.setText(dateFormatter.format(newDate.getTime()));
            }

        },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));

    }

    //  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getActivity().getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void onClick(View view) {
        if(view == taskadd) {
            fromDatePickerDialog.show();
        }
        taskadd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                addtask=taskname.getText().toString();
                adddetail=taskdetail.getText().toString();
                adddate= taskdate.getText().toString();
                InsertData();
                Notification();

            }
        });
    }

    public void Notification() {
        // Set Notification Title
        String strtitle = getString(R.string.notificationtitle);
        // Set Notification Text
        String strtext = getString(R.string.notificationtext);

        // Open NotificationView Class on Notification Click
/*
         FragmentTransaction t = getActivity().getSupportFragmentManager().beginTransaction();
                TabFragment mFrag = new TabFragment();
                t.replace(com.Weal.sachin.omcom.R.id.framelayout, mFrag);
                t.commit();
*/
        Intent intent = new Intent(getActivity(), NotificationView.class);
        // Send data to NotificationView Class
        intent.putExtra("title", strtitle);

        intent.putExtra("text", strtext);
        // Open NotificationView.java Activity
        PendingIntent pIntent = PendingIntent.getActivity(getContext(), 0, intent,
                PendingIntent.FLAG_UPDATE_CURRENT);

        //Create Notification using NotificationCompat.Builder
        NotificationCompat.Builder builder = new NotificationCompat.Builder(getContext())
                // Set Icon
                .setSmallIcon(R.drawable.icon)
                // Set Ticker Message
                .setTicker(getString(R.string.notificationticker))
                // Set Title
                .setContentTitle(getString(R.string.notificationtitle))
                // Set Text
                .setContentText(getString(R.string.notificationtext))
                // Add an Action Button below Notification
                .addAction(R.drawable.ic_audiotrack, "Action Button", pIntent)
                // Set PendingIntent into Notification
                .setContentIntent(pIntent)
                // Dismiss Notification
                .setAutoCancel(true);

        // Create Notification Manager

        // Create Notification Manager
        NotificationManager notificationmanager = (NotificationManager) getContext().getSystemService(NOTIFICATION_SERVICE);
        // Build Notification with Notification Manager
        notificationmanager.notify(0, builder.build());

    }

这是我的noficationview.class

        package com.Weal.sachin.omcom;

/**
 * Created by sachin on 1/23/2017.
 */

    import android.app.Activity;
    import android.app.NotificationManager;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.TextView;

    public class NotificationView extends Activity {
        String title;
        String text;
        TextView txttitle;
        TextView txttext;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.notificationview);

            // Create Notification Manager
            NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            // Dismiss Notification
            notificationmanager.cancel(0);

            // Retrive the data from MainActivity.java
            Intent i = getIntent();

            title = i.getStringExtra("title");
            text = i.getStringExtra("text");

            // Locate the TextView
            txttitle = (TextView) findViewById(R.id.title);
            txttext = (TextView) findViewById(R.id.text);

            // Set the data into TextView
            txttitle.setText(title);
            txttext.setText(text);
        }
    }

我尝试过这种方式,并且此代码未在Button Click上显示通知。

Prasaanth

可能是因为您要添加

taskadd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            addtask=taskname.getText().toString();
            adddetail=taskdetail.getText().toString();
            adddate= taskdate.getText().toString();
            InsertData();
            Notification();

        }
    });

在片段的onClick()中。由于您已经在onClick()中,因此不需要taskadd.setOnClickListener()。而是用此替换onClick()方法。

if(view == taskadd) {
    fromDatePickerDialog.show();
}
addtask=taskname.getText().toString();
adddetail=taskdetail.getText().toString();
adddate= taskdate.getText().toString();
InsertData();
Notification();

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在RealmRecyclerView中获得有关项目删除的通知

如何获得有关Maven / Gradle的第三方库更新的通知?

如何在paypal api中获得有关用户取消订阅的通知?

在管道连接到gulp浏览器时,如何获得有关错误的通知?

如何通过history.pushState获得有关历史更改的通知?

如何获得有关小部件上每个光标移动的通知?

文件写入期间磁盘已满。如何获得有关此的通知?

如何获得有关Android appcompat或支持库更新的通知?

如何获得有关Azure服务的重大更改的通知?

服务器如何获得有关HTTP请求的通知?

如何获得有关Android文件系统更新的通知?

如何获得有关Google App Engine任务队列失败的通知

iOS推送通知:当应用处于活动状态时,如何获得有关推送通知的通知?

如何获得有关课堂方法的帮助

如何获得有关某些StorageReference的子代的信息?

如何获得有关终端命令的帮助?

我如何获得有关LoCo团队的更新?

如何获得有关命令的特定选项的帮助

PopupWindow如何获得有关外部事件的通知?

2活动获得有关GPS状态更改的通知

如何获得有关音频文件头的所有信息?

如何获得有关包装用途的有用且详细的说明?

当应用程序在后台运行时,如何在Mac中获得有关鼠标和键盘使用的通知?

无论如何,我可以获得有关vkimage的信息吗?

如何获得有关Java Hashmap上冲突次数的指标?

如何获得有关猫鼬错误消息的更多详细信息?

如何使zsh`run-help`忽略`sudo`并获得有关以下命令的帮助

我如何获得有关Facebook登录的更多信息

如何获得有关apt-get的install子命令的帮助?