我现在正在使用Sony Watch,只要用户点击我的应用程序中的按钮(我使用pub nub执行此操作)就可以实现简单通知。因此,我目前面临的问题是无法使用后续通知中的值更新textView。
例如:在我的意图中,我有一个'完成'按钮和一个空的textView。在Watch上收到第一个通知(包含数字5 ),打开通知,在意图(在onCreate内)我做textview.setText("" + 数字)并显示 5 。现在,仍然在意图,新通知到达(包含数字6 ),我还没有打开它。点击“完成”后并且从textView清除数字5 ,我打开新通知,它应该更新textView以显示 6 ,但数字变为 0 。为什么会这样?
我执行此操作的方式应该是每次用户处于意图时使用后续通知中的值更新textView。但我似乎无法让它发挥作用。
有谁知道怎么做?任何帮助是极大的赞赏。还请提供一些建议。谢谢。
我也在使用Hashmap,下面是我的代码:
NotificationActivity类:
startInstrumentation
测试类:
Button btn = (Button) findViewById(R.id.doneBtn);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
int[] arr = new int[10]; //a set of numbers to match with my Hash key from pubnub code
for (int i = 0; i < 10; i++){
arr[i] = i + 1;
Test test = new Test();
if(test.NumberHash.get(arr[i]) != null) {
Log.d("Clearing ", "= " + arr[i]);
test.NumberHash.put(arr[i], null);
test.NumberHash.clear();
TextView number = (TextView) findViewById(R.id.number);
number.setText("");
}
else{
}
}
}
});
removeNotification(noID);
Test test = new Test();
TextView number = (TextView) findViewById(R.id.number);
onCreateSetText();
}
private void removeNotification(final int notificationId) {
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(notificationId);
}
private void onCreateSetText(){
Test test = new Test();
TextView number = (TextView) findViewById(R.id.number);
number.setText("" + test.NumberHash.keySet().hashCode());
Log.d("Set text "," " + number.getText());
return;
}