Android 如何使用按钮侦听器在另一个中调用activity.java

Android 如何使用按钮侦听器在另一个中调用activity.java,android,layout,android-activity,onclicklistener,Android,Layout,Android Activity,Onclicklistener,我有两个完全独立运行的类活动(ArduinoBlinkLEDActivity.java和ObjTrackActivity.java)。。我想在一个slas中合并这两个类;我想使用onclick活动按钮Listener调用第一个类中的第二个类。我认为这需要改变布局 求你了,我需要你的帮助 ArduinoBlinkLEDActivity.java: public class ArduinoBlinkLEDActivity extends Activity { // TAG is used to d

我有两个完全独立运行的类活动(ArduinoBlinkLEDActivity.java和ObjTrackActivity.java)。。我想在一个slas中合并这两个类;我想使用onclick活动按钮Listener调用第一个类中的第二个类。我认为这需要改变布局 求你了,我需要你的帮助

ArduinoBlinkLEDActivity.java:

public class ArduinoBlinkLEDActivity extends Activity {

// TAG is used to debug in Android logcat console
private static final String TAG = "ArduinoAccessory";



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.main);
    while (connected) {
        startService(new Intent(this, ArduinoBlinkLEDActivity.class));

    }



    iptext = (EditText) findViewById(R.id.ipserveur);
    connexion = (Button) findViewById(R.id.button2);
    deconnexion = (Button) findViewById(R.id.button1);




}
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    iptext = (EditText) findViewById(R.id.ipserveur);
    connexion = (Button) findViewById(R.id.button2);
    deconnexion = (Button) findViewById(R.id.button1);
    Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);

    //Listening to button event
    btnNextScreen.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            //Starting a new Intent
            Log.i(TAG, "onCreate");
            //super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(new ObjTrackView(this));

        }
    });
ObjTrackActivity.java:

public class ObjTrackActivity extends Activity {
private static final String TAG = "ObjTrackActivity";


public ObjTrackActivity() {
    Log.i(TAG, "Instantiated new " + this.getClass());
}

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate");
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(new ObjTrackView(this));
}
ObjTrackView.java:

class ObjTrackView extends SampleViewBase {

private int mFrameSize;
private Bitmap mBitmap;
private int[] mRGBA;

public ObjTrackView(Context context) {
    super(context);
}
我的测试不起作用:ArduinoBlinkLEDActivity.java:

public class ArduinoBlinkLEDActivity extends Activity {

// TAG is used to debug in Android logcat console
private static final String TAG = "ArduinoAccessory";



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.main);
    while (connected) {
        startService(new Intent(this, ArduinoBlinkLEDActivity.class));

    }



    iptext = (EditText) findViewById(R.id.ipserveur);
    connexion = (Button) findViewById(R.id.button2);
    deconnexion = (Button) findViewById(R.id.button1);




}
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    iptext = (EditText) findViewById(R.id.ipserveur);
    connexion = (Button) findViewById(R.id.button2);
    deconnexion = (Button) findViewById(R.id.button1);
    Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);

    //Listening to button event
    btnNextScreen.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            //Starting a new Intent
            Log.i(TAG, "onCreate");
            //super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(new ObjTrackView(this));

        }
    });

您需要将ObjTrackView转换为带有附带XML布局的活动,并通过启动它

示例代码:

////////////////////////////////////////////////////////////////////////////////
//
//  IntentDemo
//  
//  Demonstration of the use of basic intent.
//
//  Clicking on the 'Launch Intent' button in ActivityA launches a known
//  activity, ActivityB.
//  
////////////////////////////////////////////////////////////////////////////////

package com.marsatomic.intentdemo;

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

public class ActivityA extends Activity
{

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

        Button buttonLaunchActivityB = (Button)findViewById(R.id.button_launch_activity_b);
        buttonLaunchActivityB.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View v)
            {
                Intent i = new Intent(ActivityA.this, ActivityB.class);
                startActivity(i);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity, menu);
        return true;
    }

}

正如您所知,setContentView将对xml布局文件的引用作为参数,而不是活动或其他任意Java类。

您希望第二个类是单独的活动(具有自己的布局等)还是后台工作线程(处理数据等)?