如何将通知的setConentText设置为字符串?

时间:2016-10-30 00:10:34

标签: android notifications android-notifications

我正在尝试通过EditText接受名为提醒的字符串,然后将其显示在通知

private static String reminder;
private Button btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText text = (EditText) findViewById(R.id.Name);
    reminder = text.getText().toString();
    btn = (Button) findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Calendar calendar = Calendar.getInstance();

            Intent intent = new Intent(getApplicationContext(), Notifications.class);
            PendingIntent pend = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
            AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                am.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis() + 1000, pend);  //set repeating every 24 hours
            }


        }
    });
}

public static String getRem() {
    return reminder;
}

该应用显示空白通知

很抱歉没有直接在这里发布代码,因为在这里发布它有点复杂!

2 个答案:

答案 0 :(得分:0)

提醒在onCreate中被赋予一个值。因此,如果未调用onCreate,则会将null作为文本。 最好的办法是直接初始化值:

 private static String reminder = "Reminder";

我认为这很好,因为提醒的价值在你的活动中不会改变。

答案 1 :(得分:0)

我解决了..我需要做的就是声明

EditText text = (EditText) findViewById(R.id.Name);

reminder = text.getText().toString();

在onClick方法中

感谢所有帮助过的人。