Как сделать кнопку в одном упражнении для изменения компонентов в другом? - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь сделать некоторые макеты и списки просмотра недоступными, нажимая кнопку, расположенную в другом упражнении.

Также я хочу ввести некоторый текст в тексте редактирования, расположенном в том же упражнении, что и макеты

Я обыскал это место и нашел несколько примеров, но я просто не мог заставить их работать, поэтому я публикую свой собственный код.

        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 голосов
/ 04 сентября 2018

Основная задача - передать «черный кот» другому занятию, это можно сделать так: В 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);
            }
        });

In 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);

    }
...