Dynamically add items in list view

前端 未结 3 1822
南旧
南旧 2020-12-15 02:04

I want to make a dynamic list view which gets the user credentials when I login for the first time and displays it in a list the next time I start the app. I know how to sen

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-15 02:49

    You can try out this code to add elements dynamically to list view. You can do it with out button click also.

    import java.util.ArrayList;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
        //step2 : create all the variables.
        EditText et;
        Button b;
        ListView lv;
        ArrayList al;
        ArrayAdapter aa;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //step3 : intitalize all the variables.
            et = (EditText) findViewById(R.id.editText1);
            b = (Button) findViewById(R.id.button1);
            lv = (ListView) findViewById(R.id.listView1);
            al = new ArrayList();//initialize array list
            aa = new ArrayAdapter(this, 
                    android.R.layout.simple_list_item_1, 
                    al);//step4 : establish communication bw arraylist and adapter
            //step5 : establish communication bw adapter and dest (listview)
            lv.setAdapter(aa);
            lv.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView parent, 
                        View v, int arg2,
                        long arg3) {
                    String item = al.get(arg2);
                    Toast.makeText(getApplicationContext(), item, 0).show();
                }
            });
            //step6 : button click logic
            b.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    //step i: take text from et and add to arraylist
                    String item = et.getText().toString();
                    al.add(0, item);
                    //step ii: notify to adapter
                    aa.notifyDataSetChanged();
                    //step iii: clr edit text
                    et.setText("");
                }
            });
        }
    }
    

    For complete code check this list view example

提交回复
热议问题