Android视图会在点击时更改

时间:2011-03-19 19:36:18

标签: android view

我需要一些简单的东西,能够在我的应用中切换视图,就像在iPhone中一样, 例如,我用按钮加载第一个屏幕,单击此按钮,然后转到下一个屏幕并返回(我们都在iPhone UI中看到后退按钮)。 我一直在尝试做startActivity(这个,MySecondScreen.class),但它崩溃了。

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

public void login_Click(View v) {
    // Perform action on click
    try{
    Intent i = new Intent(this, MainMenuTabs.class);
    startActivity(i);
    }
    catch(Exception ex)
    {
        Log.e("main",ex.toString());
    }
}

}

我的第二个类是TabActivity扩展器 公共类pissedoff扩展了Activity {

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

public void login_Click(View v) {
    // Perform action on click
    try{
    Intent i = new Intent(this, MainMenuTabs.class);
    startActivity(i);
    }
    catch(Exception ex)
    {
        Log.e("main",ex.toString());
    }
}

}

3 个答案:

答案 0 :(得分:1)

Intent myIntent = new Intent(view.getContext(), YourNewClass.class); /** Class name here */
startActivityForResult(myIntent, 0);

它可能会崩溃,因为在你的android清单文件中也必须声明这样的活动:

<activity android:name="YourNewClass" android:label="YourNewClass"></activity>

或使用内置的grahpical事物。 (Android清单 - &gt;应用程序 - &gt;应用程序节点 - &gt;添加 - &gt;活动)

答案 1 :(得分:0)

在您的XML中,为每个视图创建一个文件(使其更易于使用),然后在您的主视图中:

<ViewFlipper
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/vf">

    <include android:id="@+id/firstView" layout="@layout/first" />
    <include android:id="@+id/secondView" layout="@layout/second" />
    <include android:id="@+id/thirdView" layout="@layout/third" />
    <include android:id="@+id/fourthView" layout="@layout/fourth" />

</ViewFlipper>
你的java代码中的

ViewFlipper vf;
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        vf = (ViewFlipper) findViewById(R.id.vf);

如果要使用下一个视图,请使用vf.showNext();

答案 2 :(得分:0)

1.这是您的主要活动的外观。在布局中添加按钮。

        public class MainActivity extends AppCompatActivity {
        Button B;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                B = (Button) findViewById(R.id.button);
                B.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                Intent obj = new Intent(MainActivity.this, NextActivity.class);
                startActivity(obj);
                                         }

                                     }
                );
            }
        }
  1. 这就是你的下一个活动的样子。使用onBackpressed方法。

        public class NextActivity extends AppCompatActivity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_next);
    
    
        }
        @Override
        public void onBackPressed() {
            finish();
        }
    
    
    
    
    }
    
  2. 3.希望它有所帮助。