如何在android上从一个页面导航到另一个页面?(共3页)

时间:2012-04-05 21:18:57

标签: android

我是Android开发的新手,我对如何从一个页面导航到另一个页面有疑问。 实际上,我想要做的是: 打开应用程序,第一页出现,它显示“你好我是活动1”。然后有一个按钮显示“下一步”,你按下一步然后你导航到第二页,其中显示“你好我是活动2”。在这页面有两个按钮,首先说“上一个”,它会将您带回到第1页,第二个表示“下一个”,它将带您进入第3页。 基本上,这是我被卡住的地方,第1页和第2页工作正常,下一个和上一个按钮但是当我按下第2页的“下一步”按钮时,我无法导航到第3页。 我已经在这里上传了我的源代码,所以你们可以下载它并将其导入Eclipse,以便确切了解我所做的事情。

点击here进行下载。

如果有人可以帮助配偶会很高兴, 提前谢谢。

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

活动1

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

    });
}
}

Activity3

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();
            }

        });
    }
}

main.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 个答案:

答案 0 :(得分:2)

步骤1:将startActivityForResult()替换为Activity1中的startActivity()

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

步骤#3:完全重写Activity3,因为它不会编译或者它会在运行时崩溃,因为你指的是一个不存在的小部件(Button04)

答案 1 :(得分: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);

希望这有帮助!

p.s我在代码中使用的内容。

答案 2 :(得分: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);
            }

        });
    }
}

答案 3 :(得分:0)

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