我如何在静态方法中刷新相同的活动

时间:2013-11-18 08:03:34

标签: java android

我的应用程序需要关闭活动并使用刷新活动直接打开它或打开新活动并返回活动?

public class MainActivity extends Activity {
    static TextView messageBox;
    static String x="";
    static Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         messageBox=(TextView)findViewById(R.id.messageBox);
         check();

    }

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


     public static void updateMessageBox(String msg,String from)
        {
            messageBox.append(msg);
            //Get parent phone number from database
            //check parent number with ...
            if(msg.equals("enable wifi"))
            {
                x="yes";
            }
            //context.startActivity(new Intent(context, MainActivity.class));

            Intent i=new Intent(context, p1.class);
            context.startActivity(i);

          }

     private void check()
     {

         if(x.equals("yes"))
         {
             WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
              wifi.setWifiEnabled(true);
         }

     }


}

我正在使用开放的新活动并返回活动但是应用程序崩溃了工作!!

请帮帮我??

2 个答案:

答案 0 :(得分:1)

您可以简单地使用:

finish();
startActivity(getIntent());

从内部刷新活动。

答案 1 :(得分:0)

试试这个,

Intent intent = getIntent();
finish();
startActivity(intent);

OR

如果您的应用程序最低API> 11然后你可以拨打Activity.recreate(); 如果您在API11 +环境中,这是首选。如果您使用的是API 10或更低版本,您仍然可以检查当前版本并调用上面的代码段。 (请不要忘记upvote Ralf的回答!)