关闭“Pop-Up like”活动

时间:2013-12-26 19:29:00

标签: android android-layout android-activity popupwindow

我制作了这个应用程序,它会向用户发出通知。通知只是一个字符串。有时字符串可能很长,所以我试图在弹出布局中显示该字符串。

像这样,我的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);
}

}

所以这是我的问题,我可以显示第一项字符串数组(通知),当第二个通知到来时我点击,我显示上一个屏幕。如何刷新字符串数组,或者杀死活动以调用下一个字符串数组等?

谢谢,我希望我解释得很好。

2 个答案:

答案 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);
        }

    }