我制作了这个应用程序,它会向用户发出通知。通知只是一个字符串。有时字符串可能很长,所以我试图在弹出布局中显示该字符串。
像这样,我的xml:
<activity
android:name="com.dot.Popup"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Dialog">
</activity>
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#aeb25e" >
<TextView
android:id="@+id/notif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="asd"
android:padding="5dp"
android:textColor="#1D331C"
android:textSize="15sp"
android:textStyle="bold"
android:typeface="serif" />
</RelativeLayout>
代码:
public class Popup extends Activity {
String notif;
Intent sender;
TextView popup_notif;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.popup);
sender=getIntent();
notif=sender.getExtras().getString("notif_ana");
popup_notif = (TextView) findViewById(R.id.notif);
popup_notif.setText(notif);
}
}
所以这是我的问题,我可以显示第一项字符串数组(通知),当第二个通知到来时我点击,我显示上一个屏幕。如何刷新字符串数组,或者杀死活动以调用下一个字符串数组等?
谢谢,我希望我解释得很好。
答案 0 :(得分:0)
要关闭活动,您需要致电finish()
。而不是活动,我使用相当Toast(可能是自定义布局)或众多库提供吐司替代品之一。在这里使用活动可能有点矫枉过正
答案 1 :(得分:0)
尝试在onResume()函数中获取intent和extras,并在活动的onResume()函数中更新TextView。
public class Popup extends Activity {
String notif;
Intent sender;
TextView popup_notif;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.popup);
popup_notif = (TextView) findViewById(R.id.notif);
}
@Override
protected void onResume() {
super.onResume();
sender=getIntent();
notif=sender.getExtras().getString("notif_ana");
popup_notif.setText(notif);
}
}