ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Listview_mydata를 Array로 받아서 테스트
    카테고리 없음 2013. 2. 20. 11:12
    반응형

    package com.example.listexam;

    //데이터 클래스를 만들어 사용

    public class MyData {

    String title;

    String desc;

    public MyData(String title,String desc) {

    this.title=title;

    this.desc = desc;

    }

    @Override

    public String toString() {

    // TODO Auto-generated method stub

    return title+"\n\r" + desc;//스트링을 넘겨주기위함 

    }

    }






    =========================

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools"

        android:id="@+id/LinearLayout1"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:orientation="vertical"

        android:paddingBottom="@dimen/activity_vertical_margin"

        android:paddingLeft="@dimen/activity_horizontal_margin"

        android:paddingRight="@dimen/activity_horizontal_margin"

        android:paddingTop="@dimen/activity_vertical_margin"

        tools:context=".MainActivity" >


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/hello_world" />


        <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content" >


            <EditText

                android:id="@+id/editText1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_weight="1"

                android:ems="10"

                android:inputType="textPersonName" >


                <requestFocus />

            </EditText>


            <Button

                android:id="@+id/button1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:text="Add" />


        </LinearLayout>


        <ListView

            android:id="@+id/listView1"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_weight="1" >


        </ListView>


    </LinearLayout>

    ====================================

    package com.example.listexam;


    import java.util.ArrayList;


    import android.app.Activity;

    import android.os.Bundle;

    import android.view.Menu;

    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.Toast;


    public class MainActivity extends Activity {

    //데이터를 추가하려면 리스트 를사용

    //고정된 데이터라면 array 이나 string 을 사용

    //toString --> 주소를 넘겨준다.

    EditText inputWord;

    ListView list;

    ArrayAdapter<MyData>mAdapter;//어댑터를 만듬

    //데이터 소스(안드로이드에서 제공)

    ArrayList<MyData>mData = new ArrayList<MyData>();

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            

            inputWord = (EditText)findViewById(R.id.editText1);

            list = (ListView)findViewById(R.id.listView1);

            initData();//유저가 만들어놓은 데이터

            //리스트 사용

            //android 드가 붙을 시 안드로이드 플랫폼이 제공하는 것임

            //텍스트 뷰 한개가 들어가있음,

            //adapter-->두번재는 아이템의 모양,세번째는 데이터의 소스가 들어감

            //

            mAdapter = new ArrayAdapter<MyData>(this, android.R.layout.simple_list_item_1,mData);//생성

            

            list.setAdapter(mAdapter);//madapter 가 가지고있는 데이터를 리스트에 보여줘

            

            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {


    @Override

    public void onItemClick(AdapterView<?> parent, View childView, int position,

    long id) {

    // TODO Auto-generated method stub

    Toast.makeText(MainActivity.this, "clicked item: "+mData.get(position),

    Toast.LENGTH_SHORT).show();

    }

    });

            //리스트 아이템을 추가해주기 

            Button btn = (Button)findViewById(R.id.button1);

            btn.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    // TODO Auto-generated method stub

    String addString = inputWord.getText().toString();

    mAdapter.add(new MyData(addString, "desc"));///추가 해주기

    }

    });

        }

        //리스트테스트 하기 위해 이미적으로 내가만든 클래스의 데이터를 만들어놓음

      //mdata에 이미의 값을 추가했음

        private void initData(){

        mData.add(new MyData("Data01","desc1"));

        mData.add(new MyData("Data02","desc2"));

        mData.add(new MyData("Data03","desc3"));

       

        }

        


        @Override

        public boolean onCreateOptionsMenu(Menu menu) {

            // Inflate the menu; this adds items to the action bar if it is present.

            getMenuInflater().inflate(R.menu.main, menu);

            return true;

        }

        

    }



    반응형
Designed by Tistory.