Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建活动作为实例?_Java_Android - Fatal编程技术网

Java 创建活动作为实例?

Java 创建活动作为实例?,java,android,Java,Android,我已经创建了一个弹出窗口,可以用来显示应用程序中的重要消息。这方面的代码是用PopActivity编写的 这是我的密码: public class PopActivity extends Activity { private WorkOutClass the_workout_class = new WorkOutClass(); private TextView repTextField, setsTextField; private Button den_knappen; @Overrid

我已经创建了一个弹出窗口,可以用来显示应用程序中的重要消息。这方面的代码是用PopActivity编写的

这是我的密码:

public class PopActivity extends Activity {
private WorkOutClass the_workout_class = new WorkOutClass();

private TextView repTextField, setsTextField;
private Button den_knappen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pop);

    repTextField = (TextView) findViewById(R.id.repetitionID);
    setsTextField = (TextView) findViewById(R.id.setsID);
    den_knappen = (Button) findViewById(R.id.buttonID);

    repTextField.setText("Reps : " + String.valueOf(the_workout_class.getReps()));
    setsTextField.setText("Sets: " +String.valueOf(the_workout_class.getSets()));



    DisplayMetrics thePopUpWindow = new DisplayMetrics();

    getWindowManager().getDefaultDisplay().getMetrics(thePopUpWindow);

    int width = thePopUpWindow.widthPixels;
    int height = thePopUpWindow.heightPixels;

    getWindow().setLayout((int)(width*.8), (int)(height*.7));

    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.gravity = Gravity.CENTER;
    params.x = 0;
    params.y = 20;


    getWindow().setAttributes(params);

    den_knappen.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            the_workout_class.increaseReps();
            repTextField.setText("Reps : " + String.valueOf(the_workout_class.getReps()));
            setsTextField.setText("Sets: " +String.valueOf(the_workout_class.getSets()));


        }
    });



}}
我的问题是:如果我想在我的应用程序中的其他地方使用相同类型的弹出窗口来提供不同的消息,有没有一种方法我可以复制它来使用它?或者我是否需要创建新文件,如PopActivity2、PopActivity3等


感谢您的回答。

您可以在开始以下活动时通过Intent传递数据:

// in previous activity
Intent intent = new Intent(this, PopActivity.class);
intent.putExtra("first", "your message")
startActivity(intent);


// in PopActivity
String message = getIntent().getStringExtra("first")

并以此作为你需要的信息。如果需要,可以传递更多数据。最好是先用更好的名称为名称定义一个常量,并在两个活动中使用它-

我觉得你真正需要的是一个对话。您可以为对话框创建自己的布局和文本,然后在需要的地方使用它。这些链接可以帮助您做到这一点:


我建议通过Intent传递您的文本/数据。这是值得一看的:沃伦建议的是合理的方法。尝试创建一个可以传递所需数据的通用pop活动。如果不希望通过意图传递文本,也可以尝试继承。对于弹出窗口,创建一个单独的类,在其中编写弹出代码,并可用于任何活动/片段。有人建议我将弹出窗口创建为类,还有人建议我创建单例。现在我很困惑。。哪种选择最好?你通常不需要单身。