我有一个ListView,它填充了字符串数组中的引号列表,但是onClick我需要将所选的<item>读为String。这是我使用的代码:

 ListView sample = (ListView)findViewById(R.id.Samplelist);

    String[] backup = getResources().getStringArray(R.array.months);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, backup);

    sample.setOnItemClickListener(new AdapterView.OnItemClickListener(){
        @Override
        public void onItemClick(AdapterView<?> parent, final View view,
                                int position, long id) {
            final String item = (String) parent.getItemAtPosition(position);
            view.animate().setDuration(2000).alpha(0)
                    .withEndAction(new Runnable() {
                        @Override
                        public final void run()
                        {

                            String readItem;
                            finish();

                        }
                    });
        }


    sample.setAdapter(adapter);


}


在这里,sample.setAdapter(adapter)似乎是一个错误,并带有红色下划线。

有没有办法使此正确完成?任何帮助将不胜感激

最佳答案

如果查看simple_list_item_1的布局,则可以找到textview的ID为text1

您可以像这样在列表视图中定义OnItemClickListener:

   listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String selectedItem = ((TextView) view.findViewById(R.id.text1)).getText().toString();
            }
        });


编辑:

您也可以尝试

String selectedItem = (String)parent.getItemAtPosition(position);


代替

String selectedItem = ((TextView) view.findViewById(R.id.text1)).getText().toString();


希望能帮助到你!

10-07 13:03