首页 > 解决方案 > 我的按钮/微调器都没有点击

问题描述

我怀疑我是否打错了任何错字,但大约 10 分钟前,我所有的按钮都会按下并执行预期的操作,但现在当我按下它们时,它什么也没做。我什至无法单击我的微调器打开。我尝试从手机中删除该应用程序并重新启动,但它仍然无法正常工作,我 99% 确定我没有进行任何重大更改以使我的应用程序无法工作。

创建.java

public class create extends AppCompatActivity {


    Button buttontest;
    private LinearLayout mLinearLayout;

    private ArrayList<Spinner> mSpinners;





    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);




        mSpinners = new ArrayList<>();

        mLinearLayout = findViewById(R.id.my_linearLayout);

        mLinearLayout.addView(makeSpinner());    // First spinner

        Button duplicateSpinner = findViewById(R.id.bt_duplicate); //button to duplicate spinner
        duplicateSpinner.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Spinner spinner = makeSpinner();//  this makes spinner from the private Spinner code below. so you just need to do the same for the frame layout? put everything in one layout oand do that.
                mLinearLayout.addView(spinner);      // Add another spinner

            }
        });

        Button getSpinner = findViewById(R.id.bt_getSpinner);
        getSpinner.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                for (int i = 0; i < mSpinners.size(); i++) {      // Read all spinners
                    Spinner spinner = mSpinners.get(i);
                    Log.i("TAG", spinner.getSelectedItem().toString());
                }
            }
        });
    }

    private Spinner makeSpinner() { //how to make spinners
        //opens csv
        InputStream inputStream = getResources().openRawResource(R.raw.shopitems);
        CSVFile csvFile = new CSVFile(inputStream);
        List<String> itemList = csvFile.read();

        //Create new spinner
        Spinner spinner = new Spinner(this, Spinner.MODE_DROPDOWN);

        // Setup layout
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);
        spinner.setLayoutParams(layoutParams);
        MyListAdapter adapter = new MyListAdapter(this, R.layout.listrow, R.id.txtid, itemList);

        spinner.setAdapter(adapter);

        //Add it to your list of spinners so you can retrieve their data when you click the getSpinner button
        mSpinners.add(spinner);
        return spinner;
    }




    private class CSVFile {
        InputStream inputStream;

        public CSVFile(InputStream inputStream) {
            this.inputStream = inputStream;
        }

        public List<String> read() {

            List<String> resultList = new ArrayList<String>();
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
            try {
                String line;
                while ((line = reader.readLine()) != null) {
                    String[] row = line.split(",");
                    resultList.add(row[1]);
                }
            } catch (IOException e) {
                Log.e("Main", e.getMessage());
            } finally {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    Log.e("Main", e.getMessage());
                }
            }
            return resultList;
        }
    } }

mylistadapter 代码

public class MyListAdapter extends ArrayAdapter<String> {
    int groupid;
    List<String> items;
    Context context;
    String path;

    public MyListAdapter(Context context, int vg, int id, List<String> items) {
        super(context, vg, id, (List<String>) items);
        this.context = context;
        groupid = vg;
        this.items = items;

    }

    static class ViewHolder {
        public TextView textid;
        public TextView textname;

    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        {





            View rowView = convertView;
            if (rowView == null) {
                LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                rowView = inflater.inflate(groupid, parent, false);
                ViewHolder viewHolder = new ViewHolder();
                viewHolder.textid = (TextView) rowView.findViewById(R.id.txtid);
                viewHolder.textname = (TextView) rowView.findViewById(R.id.txtname);
                rowView.setTag(viewHolder);
            }
            // Fill data in the drop down.
            ViewHolder holder = (ViewHolder) rowView.getTag();
            String row = items.get(position);
            //holder.textid.setText(row[0]); prints aisle number, dont need

            holder.textname.setText(row);


            return rowView;
        }

    }

}

标签: android

解决方案


xml 代码有问题,我将元素放在布局中而不是布局之外


推荐阅读