如何在一个活动中创建按钮以修改其他活动中的组件

时间:2018-09-03 22:05:36

标签: android android-intent android-activity kotlin

我试图通过按下另一个活动中的按钮使一些布局和列表视图消失并可见。

我还想在与布局相同活动的edittext中输入一些文本

我到处都看过,发现了几个示例,但是我无法使它们正常工作,所以我要发布自己的代码。

        btnnext1.setOnClickListener(new OnClickListener() { 
        val next1 = Intent(this, next1::class.java)
        startActivity(next1)
        categories.visibility = View.GONE
        listacats.visibility = View.VISIBLE
        ListView.visibility = View.VISIBLE
        e_search.setText("blackcat")
    })

根据我的发现,这可以通过使用intent.PutExtra来实现,但我无法使其正常工作。

预先感谢您的支持

1 个答案:

答案 0 :(得分:0)

主要任务是将“黑猫”传递给另一个活动,您可以这样做: 在MainActivity中:

        final Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,OtherActivity.class);
                intent.putExtra("passed_str", "blackcat"); 
                startActivity(intent);
            }
        });

在OtherActivity中:

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

        String receivedStr = getIntent().getStringExtra("passed_str");//receive string

        final EditText editText = (EditText) findViewById(R.id.editText);
        editText.setText(receivedStr);

        categories.setVisibility(View.GONE); //change wiget's visibility
        listacats.setVisibility(View.INVISIBLE);
        ListView.setVisibility(View.INVISIBLE);

    }