Поиск товара в Android Studio - PullRequest
0 голосов
/ 01 мая 2020

Я хочу сделать так, чтобы при нажатии на кнопку открывался поиск объектов. Когда вы нажимаете на один из объектов, текст кнопки меняется на имя объекта. Также, если пользователь ничего не ввел или не ввел имя объекта, которого нет в этом списке, то текст кнопки должен быть «Нумерация инструментов». Но текст моей кнопки равен тому, что ввел пользователь. Код:


import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Arrays;

public class MainActivity extends AppCompatActivity {
    String[] items;
    ArrayList<String> listItems;
    String[] prices;
    ArrayList<String> listprices;
    ArrayAdapter<String> adapter;
    ListView listView;
    EditText editText;
    EditText countText;
    TextView sumeText;
    Button searchBtn;
    Button anotherPage;
    Button turnOffSearchButton;
    boolean isTextRight;
    boolean appllyText;
    int productNumber;;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView=(ListView)findViewById(R.id.listview);
        editText=(EditText)findViewById(R.id.txtsearch);
        countText = findViewById(R.id.txtthings);
        sumeText = findViewById(R.id.textSume);
        searchBtn = findViewById(R.id.toolButton);
        anotherPage = findViewById(R.id.buttonToPage);
        turnOffSearchButton = findViewById(R.id.turnOffSearch);

        anotherPage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(), Tools.class));
                overridePendingTransition(0, 0);
            }
        });

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                editText.setText(listView.getItemAtPosition(position).toString());
            }
        });

        initList();
        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                if(s.toString().equals("")){
                    initList();
                }
                else {
                    searchItem(s.toString());
                }
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
    }

    public void searchItem(String textToSearch) {

        for (String item : items) {

            if (!item.contains(textToSearch)) {

                listItems.remove(item);

            }
        }
        adapter.notifyDataSetChanged();
    }

    public void initList(){

        items=new String[]{"Canada","China","Japan","USA"};

        listItems=new ArrayList<>(Arrays.asList(items));

        adapter=new ArrayAdapter<String>(this,
                R.layout.list_item, R.id.txtitem, listItems);

        listView.setAdapter(adapter);

    }

    public void searchDisactivated(View view){
        countText.setVisibility(View.VISIBLE);
        sumeText.setVisibility(View.VISIBLE);
        editText.setVisibility(View.INVISIBLE);
        listView.setVisibility(View.INVISIBLE);
        searchBtn.setVisibility(View.VISIBLE);
        turnOffSearchButton.setVisibility(View.INVISIBLE);

        isTextRight = true;                        //Problem place
        if(isTextRight == true) {
            for (int i = 0; i < items.length; i++) {     //Problem place
                String listText = items[i];
                if (editText.getText().toString() == listText) {      //Problem place
                    productNumber = i;     //Problem place
                    appllyText = true;    //Problem place
                } else {                     //Problem place
                    appllyText = false;      //Problem place
                }
            }
        }

        if(appllyText = true){        //Problem place
            searchBtn.setText(editText.getText()); //Problem place
            Prices();        //Problem place
            isTextRight = false;    //Problem place
        } else {            //Problem place
            searchBtn.setText("Tool Numaration");     //Problem place
        }      //Problem place


    }

    public void Prices(){
        prices =new String[]{"49","65","39","97"};
        listprices=new ArrayList<>(Arrays.asList(prices));
        sumeText.setText("Sume: " + prices[productNumber]);
    }

    public void searchActivate(View view){
        appllyText = false;
        isTextRight = false;
        countText.setVisibility(View.INVISIBLE);
        sumeText.setVisibility(View.INVISIBLE);
        editText.setVisibility(View.VISIBLE);
        listView.setVisibility(View.VISIBLE);
        searchBtn.setVisibility(View.INVISIBLE);
        turnOffSearchButton.setVisibility(View.VISIBLE);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...