如何使所有工作在一起.Intent,onClickListener,几个类,显示另一个活动

时间:2016-12-18 10:34:03

标签: java android class android-intent onclicklistener

我正在尝试让我的应用程序使用3个类显示另一个活动:

  1. MainActivity - 主屏幕
  2. ActivityOne - 第二个屏幕
  3. ButtonListener - onClickListener
  4. 的活动

    我的ActivityMain代码:

     public class MainActivity extends AppCompatActivity  {
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button button = (Button)findViewById(R.id.button);
            ButtonListener buttonListener = new ButtonListener();
            button.setOnClickListener(buttonListener);
        }
    }
    

    我的ActivityOne代码:

    public class ActivityOne extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.screen_one);
        }
    }
    

    我的ButtonListener代码:

    public class ButtonListener implements View.OnClickListener {
    
        public ButtonListener() {}
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(MainActivity.this, ActivityOne.class);
            startActivity(intent);
        }
    }
    

1 个答案:

答案 0 :(得分:0)

调整ButtonListener以维持对MainActivity的引用:

    public class ButtonListener implements View.OnClickListener {
        MainActivity activity;

        public ButtonListener(MainActivity activity) {
            this.activity = activity;   
        }
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(activity, ActivityOne.class);
            activity.startActivity(intent);
        }
    }

然后在onCreate()的{​​{1}}中,以这种方式创建MainActivity的实例:

ButtonListener