프로그래밍

안드로이드 스튜디오 ListView 2 (이벤트 처리)

안드로이드 스튜디오
반응형

토스트 메세지

package com.example.listview;

        import androidx.appcompat.app.AppCompatActivity;

        import android.os.Bundle;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
        import android.widget.Toast;

        import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listview);
        final String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_single_choice, fruits);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String item = fruits[position];
                Toast.makeText(getApplicationContext(), fruits[position] + " 선택", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

(ListActitvity 상속)

package com.example.listview;

        import androidx.appcompat.app.AppCompatActivity;

        import android.app.ListActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
        import android.widget.Toast;

        import java.util.ArrayList;

public class MainActivity extends ListActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
        String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지", "아보카도", "레몬", "체리", "망고"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, fruits);
        setListAdapter(adapter);
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        Toast.makeText(this, item + " 선택", Toast.LENGTH_SHORT).show();
    }
}

 

 

라디오 버튼 선택 되기

package com.example.listview;

        import androidx.appcompat.app.AppCompatActivity;

        import android.os.Bundle;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
        import android.widget.Toast;

        import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listview);
        final String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_single_choice, fruits);
        listView.setAdapter(adapter);
        listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String item = fruits[position];
                Toast.makeText(getApplicationContext(), fruits[position] + " 선택", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

 

여러개 체크

package com.example.listview;

        import androidx.appcompat.app.AppCompatActivity;

        import android.app.ListActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
        import android.widget.Toast;

        import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listview);
        final String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_checked, fruits);
        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String item = fruits[position];
                Toast.makeText(getApplicationContext(), item + " 선택", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

 

선택된 항목 모두 토스트 메세지 뜨게 하기

package com.example.listview;

        import androidx.appcompat.app.AppCompatActivity;

        import android.app.ListActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.AdapterView;
        import android.widget.ArrayAdapter;
        import android.widget.ListView;
        import android.widget.Toast;

        import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    String name="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listview);
        final String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_checked, fruits);
        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (listView.isItemChecked(position)){
                    name = name + fruits[position]+" ";
                }
                else
                    name = name.replace(fruits[position],"");

                Toast.makeText(getApplicationContext(), name + " 선택", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

반응형