Eclipse Android:一个活动中的不同页面?

时间:2014-09-09 20:22:53

标签: android eclipse

我想在我的应用中有80个页面,看起来像下面的代码。我可以通过两个按钮从一个页面转到下一个页面。因为我不想创建80个活动,所以我必须在一个活动中连接80个页面。这有什么作用?

 package com.example.xxx;

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

public class PictureOne extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pictureone);}

public void Picture0 (View view){
    Intent i = new Intent(this, PageZero.class);             
        startActivity(i);}}

public void Picture2 (View view){
    Intent i = new Intent(this, PageTwo.class);             
        startActivity(i);}}

XML:

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >



    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:layout_marginLeft="14dp"
        android:src="@drawable/pic1" />

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:src="@drawable/left" 
        android:onClick="Picture0"/>

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:src="@drawable/right" 
        android:onClick="Picture2"/>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

80页 - &gt; 80个活动,这是一个非常糟糕的主意,因为它将无需加载资源。 我建议你看一下ViewPager小部件(使用轻扫手势,在“页面”的概念中真的更好)并使用{{1}在单个类中以编程方式创建页面。

我通常会创建一个对象类,其中包含我需要的所有属性和custom adapter。喜欢这个

implement Fragment

然后我的适配器:

public class QuestionStack extends Fragment {

    private String textQuestionStack;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.question_row, container, false);

        TextView messageTextView = (TextView) v.findViewById(R.id.title);
        messageTextView.setText(textQuestionStack);
        return v;
    }
}

public class QuestionStackAdapter extends FragmentPagerAdapter { private List<Fragment> fragments; public QuestionStackAdapter (FragmentManager fm, List<Fragment> fragments) { super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return this.fragments.get(position); } @Override public int getCount() { return this.fragments.size(); } } 类中的viewpager对象:

activity

现在你需要尝试一下:)