【问题标题】:Android: Reload main activityAndroid:重新加载主要活动
【发布时间】:2013-12-18 11:59:18
【问题描述】:

上行链接与我的问题不同

我有这样的结构: Main -> MenuItem -> AlertDialog 类 -> Click Button -> (Reload) Main

我想要单击按钮重新加载活动主。我怎样才能做到?

谢谢

*主类 *

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public boolean onPrepareOptionsMenu(Menu menu) {

    MenuItem item = menu.findItem(R.id.MenuOpcColores);
    return true;
}

public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.MenuOpcColores:
            CambiarColores colores = new CambiarColores(this, 
                    R.layout.cambiar_colores, 
                    R.string.cambiarColores, 
                    R.color.estandar, 
                    R.id.botonAplicarColor,
                    R.id.botonCancelarColor); 
            colores.show();  
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

}

CLASE 对话框

public class CambiarColores extends Dialog implements          android.view.View.OnClickListener{  

Context context;


public CambiarColores(Context context, int vista, int titulo, int color, int id1, int id2) {  

    super(context);  
    this.context = context;
    this.titulo = titulo;
    this.vista = vista;
    this.color = color;
    this.id1 = id1;
    this.id2 = id2;
}  

protected void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState);

    setContentView(vista);  
}  

@Override  
public void onClick(View v) {  

    // REFRESH MAIN 

} 
} 

【问题讨论】:

标签: android android-activity android-alertdialog


【解决方案1】:

要重新加载活动,先完成或完成活动,然后调用意图。

finish();
startActivity(getIntent());

或关注此帖子, https://stackoverflow.com/a/6283098/6780216

【讨论】:

    【解决方案2】:

    Button上点击执行以下代码:

    Intent intent = new Intent(context,MainActivity.class);
    context.startActivity(intent);
    

    【讨论】:

    • 也许您可以发布一些代码。根据我目前的理解,我已经编辑了答案。
    • getAplicactionContext()、finish() 和 startActivity() 未定义...这在主类中可以,但在警报对话框类中不行。 public class changeColors extends Dialog 实现 android.view.View.OnClickListener{
    • getActivity() 未定义
    • 你为什么不在你的问题中发布你的课程?而不是让我猜你做了什么。
    • @user3092292 感谢您发布代码。在您的按钮上单击执行更新的代码。它现在应该可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2011-03-04
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多