我需要为这个Android应用程序创建这么多类吗?

时间:2011-12-09 16:36:27

标签: android-layout

我是编程的绝对初学者所以我只是想确保我做得对,或者有更简单的方法。基本上我正在创建的应用程序是一个学校应用程序,它将列出不同专业所需的所有课程。

因此,打开屏幕有两个按钮本科和毕业。下一个屏幕将列出毕业或本科生的所有专业,这是用户选择的一个,然后说一个人点击会计,然后列出会计专业的所有课程。我的问题是我是否需要为每个课程和专业创建一个单独的课程?以下是我一直在做的代码。

       package Class.Review;

import Class.Review.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.Intent;

public class ClassReviewActivity extends Activity {
/** Called when the activity is first created. */

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

    Button Undergrad = (Button) findViewById(R.id.BUNGrad);
    Undergrad.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // TODO Auto-generated method stub
            Intent myIntent = 
                    new Intent(view.getContext(),        undergrad.class);
            startActivityForResult(myIntent, 0);
        }
    });
}
} 

然后说用户点击了本科生我创建了另一个课程

     package Class.Review;

import Class.Review.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ScrollView;
import android.widget.TextView;
import android.content.Intent;


public class undergrad extends Activity  {
/** Called when the activity is first created. */


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


setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
    // TODO Auto-generated method stub

    Intent replyIntent = new Intent();
    setResult(RESULT_OK, replyIntent);
    finish();
}
});
}

private void setOnClickListener(OnClickListener onClickListener) {
    // TODO Auto-generated method stub




Button Accounting = (Button) findViewById(R.id.Accounting);
Accounting.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
    // TODO Auto-generated method stub
    Intent myIntent = 
            new Intent(view.getContext(), accounting.class);
    startActivityForResult(myIntent, 0);
}
 });
}
}  

然后选择会计

中的特定课程
    package Class.Review;

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

public class accReview extends Activity{
/** Called when the activity is first created. */


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

    setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // TODO Auto-generated method stub

            Intent replyIntent = new Intent();
            setResult(RESULT_OK, replyIntent);
            finish();
        }
    });

}

private void setOnClickListener(OnClickListener onClickListener) {
// TODO Auto-generated method stub

Button review = (Button) findViewById(R.id.reviews);
review.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        // TODO Auto-generated method stub
        Intent myIntent = 
                new Intent(view.getContext(), fundReview.class);
        startActivityForResult(myIntent, 0);
    }
});
}

}

1 个答案:

答案 0 :(得分:0)

除非您需要为每门课程提供不同的功能,否则您最好使用单个课程类,其中包含一些包含课程名称(String),最大学生数(某些整数类型),可能是教授对象的字段,或者无论你需要描述什么课程。每次要添加,删除或重命名课程时,您都不想重写,重新编译和重新分发代码,是吗?

此外,这不仅适用于这个特定情况,这个问题可能已被问过很多次。