java - 按钮在布局中不起作用

标签 java android

我是 Android 新手,所以只是练习一些小东西,我想做的是(mainactivity)布局中的一个按钮(B1),当我单击它时,它会更改为另一个布局(main),其中有另一个按钮( B2)单击后会变回主 Activity 布局,B1 工作正常,但 B2 没有任何想法?

package com.example.android;

import java.util.Random;
import java.awt.*;
import com.example.android.R;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

    Button btn;


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.clickme);  
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            setContentView(R.layout.main);          
            /*Random rand = new Random();
            btn.setBackgroundColor(Color.argb(255, rand.nextInt(255),
                    rand.nextInt(255), rand.nextInt(255)));*/


            }
});
    }

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

}

这是(主要)布局

package com.example.android;

import com.example.android.R;
import java.util.Random;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Main extends Activity {

    Button btn;
    TextView text;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button) findViewById(R.id.ChangeColor);
        text = (TextView) findViewById(R.id.textView);
        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.activity_main);
                /*Random rand = new Random();
                btn.setBackgroundColor(Color.argb(255, rand.nextInt(255),
                        rand.nextInt(255), rand.nextInt(255)));
                text.setTextColor(Color.argb(255, rand.nextInt(255),
                        rand.nextInt(255), rand.nextInt(255)));*/
            }
        });
    }
}

最佳答案

setContentView(R.layout.activity_main); 没有按照您的想法进行。

要导航到 Activity ,您必须像评论中建议的其他内容一样使用 Intent

首先声明您的上下文:

final Context context = this;

然后将其传递给您的 Intent :

btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       Intent intent = new Intent(context, MainActivity.class); 
       startActivity(intent);
    }
});

关于java - 按钮在布局中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20123653/

相关文章:

java - 如何在公共(public)方法中创建私有(private)变量

android - 进度条不显示 Phonegap/Android

java - 覆盖等于方法

java - 自定义 ImageView 不显示图像

java - Spring boot,如何重新配置​​http-security

android - 拖放 Android 2.2

android - 如何检查在第二个 EditText 中输入的值在 Android 中是否较小

java - 文件写入未在 Android 中执行

android - 使用位图图像产生的 OutOfMemoryError

android - 在 Android 模拟器中使用蓝牙