нажав на кнопку, новый элемент добавляется в представление списка со своей собственной активностью - PullRequest
0 голосов
/ 14 июня 2019

Я работаю над своим первым мобильным приложением.пользователь должен ввести имя в тексте редактирования, и, нажав кнопку «Создать», новый элемент добавляется в представление списка со своей собственной активностью.проблема заключается в том, чтобы все элементы, созданные пользователем, имели один и тот же шаблон xml, но разница будет зависеть от ввода пользователя в каждом действии.

я делаю новое действие, которое начинается при нажатии любого элемента, но я обнаружил, что любой ввод, введенный мной в одном действии, был выполнен во всех действиях всех элементов в представлении списка!

ArrayList < String > topsList = new ArrayList < String > ();
ArrayAdapter topsAdapter;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn = findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {@Override
        public void onClick(View view) {
            applyName();
        }
    });

    public void applyName() {
        EditText edt = (EditText) findViewById(R.id.insertTopEdtxt); //edit 
        text
        for the user input
        String name = edt.getText().toString(); //variable that carry the 
        user input
        topsList.add(name); //add the input to the array list
        initializeAdapter(); // must use adapter for the list view(xml file)

        public void initializeAdapter() { //Adapter setup
            topsAdapter = new ArrayAdapter < String > (this, android.R.layout.simple_list_item_1, topsList);
            ListView layout = (ListView) findViewById(R.id.tops);
            layout.setAdapter(topsAdapter);
            ///starting a new activity from each item in the main list view
            layout.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Override
                public void onItemClick(AdapterView < ?>adapterView, View view, int i, long l) {
                    Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                    startActivity(intent);
                }
            });
        }

ожидаемый результат, которого я хочу, - новые элементы создаются в виде списка пользователем, и при щелчке по любому элементу начинается новое действие с тем же шаблоном макета других активностей itmes'а, но с другим пользовательским вводом.но фактический результат состоит в том, что любой ввод был введен в одно действие, которое было выполнено во всех действиях всех элементов в представлении списка!

...