在我的活动切换应用程序中获取错误

时间:2014-01-25 23:06:03

标签: android button android-activity syntax-error

您好我正在尝试修复具有进度条的应用程序以及切换到新活动的按钮。有人可以帮我隔离我的错误并给我解决问题的方法吗?我是android编程的新手!

这是我的主要活动。我有粗暴的地方,我收到错误。在这里我收到一条错误,上面写着“活动1必须在自己的文件中定义”

package com.example.progressdialog;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {


   public class mainactivity2 {

    }
private ProgressDialog progress;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      progress = new ProgressDialog(this);
   }


   public void open(View view){
      progress.setMessage("Progressing Along!");
      progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progress.setIndeterminate(false);
      progress.show();

   final int totalProgressTime = 100;

   final Thread t = new Thread(){

   @Override
   public void run(){

      int jumpTime = 0;
      while(jumpTime < totalProgressTime){
         try {
            sleep(500);
            jumpTime += 1;
            progress.setProgress(jumpTime);
         } catch (InterruptedException e) {


           e.printStackTrace();
         }

      }

   }
   };
   t.start();

   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {

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

public class **Activity1** extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        Button next = (Button) findViewById(R.id.button2);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), Activity2.class);
                startActivityForResult(myIntent, 0);
            }

        });
    }
}

这是我的第二个活动文件。在我遇到错误的地方,我再次加粗。这个说我错过了一个括号来完成方法体,但我似乎无法弄清楚把它放在哪里。

package com.example.progressdialog;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Activity2 extends Activity **{**

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        Button next = (Button) findViewById(R.id.button1);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        })**;**

谢谢!我只需要弄清楚如何纠正这些错误,因为我之前已经弄过几次,如果你能解释为什么错误发生也会对我有所帮助。

2 个答案:

答案 0 :(得分:0)

正如错误所述,每个Activity都应在其自己的.java文件中定义,并在AndroidManifest.xml中声明。

答案 1 :(得分:0)

将结束括号放在活动结束时。你好像缺少一个而不是两个右括号btw。每次打开括号{时,您还必须关闭它}。 括号用于构造代码,例如定义方法体或类。

提示1:使用Eclipse的自动格式化( Ctrl + shift + f ),它将对齐打开&amp;彼此关闭括号。

提示2:突出显示一个支架,Eclipse将突出显示相应的打开/关闭支架,以便您可以看到哪个支架属于哪个支架。

您将很快了解代码如何通过括号构建;)

此外,正如Emmanuel回答的那样,每个Activity都应该在它自己的文件中声明。