繁体   English   中英

Spinner元素以在点击应用崩溃时进行Listview(android)

[英]spinner element to listview on click app crash(android)

因此,我是android / java编程的初学者,并且尝试执行以下操作:单击按钮时,从微调器中选择的项目应该进入列表视图。到目前为止,我这样做是,eclipse不会显示任何错误或警告,但是我尝试启动应用程序时崩溃:

public class MainActivity extends ActionBarActivity {


    Button button3;
    Button button2;
    Button button4;
    ListView listView1;
    Spinner s1;
    String text;

    ArrayAdapter<String> adapter;
    ArrayList<String> list;
    int itemPos;

     @Override
        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            button3 = (Button) findViewById(R.id.button3); 
            button4 = (Button) findViewById(R.id.button4); 
            button2 = (Button) findViewById(R.id.button2);
            s1 = (Spinner) findViewById(R.id.spinner1);
            listView1 = (ListView) findViewById(R.id.listView1);



            adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_single_choice, list);  //this part here might not be correct
                listView1.setAdapter(adapter);

                button3.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                        String text = s1.getSelectedItem().toString();
                        adapter.add(text);    
                    }});


     listView1.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {

        itemPos = position;

      }
    });}}

我不明白为什么它崩溃,如何解决?

谢谢!

宣布,

ArrayList<String> list = new ArrayList<String>();

现在,您不能直接在ArrayAdapter中发送文本,因为我们已经创建了ArrayList。

所以喜欢这样

    button3.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

            String text = s1.getSelectedItem().toString();
            list.add(text);
            // To notify adapter after that changes in data 
            adapter.notifyDataSetChanged();
        }
    });

让我们来解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM