2

我是 Android 开发的新手,我有一个关于如何从一个页面导航到另一个页面的问题。实际上,我想要做的是:打开应用程序,出现第一页,上面写着“你好,我是活动 1”。然后有一个按钮,上面写着“下一步”,你按下下一步,然后导航到第二页,上面写着“你好,我是活动 2”。在这个页面中有两个按钮,第一个是“上一个”,它带你回到第 1 页,第二个是“下一个”,它带你到第 3 页。基本上,这就是我卡住的地方,第 1 页和第 2 页工作正常,下一个和上一个按钮都可以,但是当我从第 2 页按“下一个”按钮时,我无法导航到第 3 页。我已经在这里上传了我的源代码,所以你们可以下载它并将其导入Eclipse 以准确查看我所做的。

点击这里下载。

如果有人可以帮助队友,我会很高兴,在此先感谢。

好的,代码显示在这里,我创建了 3 个活动,我也在 Manifest 中注册了这些活动,我还为这 3 个活动创建了 3 个布局。

活动一

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

public class Activity1 extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.main);

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

        });
    }
}

活动2

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

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.Button02);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        });
    }


public void onCreate1(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     setContentView(R.layout.main2);

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

    });
}
}

活动3

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

public class Activity3 extends Activity {

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

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

        });
    }
}

主要的.xml

  <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:text="This is Activity 1" />

       <Button android:text="Next"
        android:id="@+id/Button01"
        android:layout_width="250px"
            android:textSize="18px"
        android:layout_height="55px">
    </Button>    

</LinearLayout>

main2.xml

    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:text="This is Activity 2" />

       <Button android:text="Previous"
        android:id="@+id/Button02"
        android:layout_width="250px"
            android:textSize="18px"
        android:layout_height="55px">
    </Button>



       <Button
           android:layout_width="162dp"
           android:layout_height="34dp"
           android:text="Next"
           android:id="@+id/Button04"
           android:textSize="18px" />

</LinearLayout>

main3.xml

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="This is Activity 3" />

我还在 Manifest 中注册了我的活动。

4

4 回答 4

2

第 1 步:在 Activity1 中替换startActivityForResult()startActivity()

步骤#2:从 Activity2 中删除您当前的代码onClick()并将其替换为调用startActivity()以启动 Activity3

第 3 步:完全重写 Activity3,因为它要么无法编译,要么在运行时崩溃,因为您指的是不存在的小部件(Button04)

于 2012-04-05T22:35:14.737 回答
1

我不确定是否为时已晚,但如果您仍然需要明确的答案,那么:

您将需要start activities. 有isn't一个DIRECT page navigation code,但是有一个start Activity。通过starting an activity您可以转到另一个页面,因为该页面与活动相关。

Intent myIntent = new Intent(Enter_Your_Current_Activity.this, Enter_The_Activity_You_Want_To_Navigate_To.class);
startActivity(myIntent);

希望这可以帮助!

ps 我在代码中使用的内容。

于 2014-06-22T00:56:54.717 回答
0
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Activity1 extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.main);

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

        });
    }
}
于 2013-02-19T08:38:27.683 回答
0

将一个页面导航到另一个页面的简单方法是startActivity new Intent(firstpagename.this,secondpagename.class);

于 2018-05-16T06:39:11.700 回答