ที่หน้า MainActivity มีตัวเลือกให้เลือก (simple_list_item_multiple_choice
)
เมือเลือกเสร็จแล้วกดปุ่ม จะเรียกหน้า ResultActivity
หน้า ResultActivity แสดงรายการที่ผู้ใช้เลือก (simple_list_item_1
)
เพิ่ม Activity ชื่อ ResultActivity แบบ EmptyActivity
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Submit" /> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" /> </LinearLayout> </android.support.constraint.ConstraintLayout> |
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
package com.phaisarn.jackapplication; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.SparseBooleanArray; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { ArrayAdapter<String> arrayAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayList arrayList = new ArrayList(); arrayList.add("Trace 1"); arrayList.add("Trace 2"); arrayList.add("Trace 3"); arrayList.add("Trace 4"); arrayList.add("Trace 5"); // Get reference of widgets from XML layout final ListView listView1 = (ListView) findViewById(R.id.listView1); // Create a List from String Array elements final List<String> fruits_list = new ArrayList<String>(arrayList); // Create an ArrayAdapter from List arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, fruits_list); listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); // DataBind ListView with items from ArrayAdapter listView1.setAdapter(arrayAdapter); listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String selectedItem = parent.getItemAtPosition(position).toString(); Toast.makeText(getApplicationContext(), selectedItem, Toast.LENGTH_SHORT).show(); } }); Button button1 = findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Toast.makeText(getApplicationContext(), "HelloWorld", Toast.LENGTH_SHORT).show(); SparseBooleanArray checked = listView1.getCheckedItemPositions(); ArrayList<String> selectedItems = new ArrayList<String>(); for (int i = 0; i < checked.size(); i++) { // Item position in adapter int position = checked.keyAt(i); // Add sport if it is checked i.e.) == TRUE! if (checked.valueAt(i)) selectedItems.add(arrayAdapter.getItem(position)); } String[] outputStrArr = new String[selectedItems.size()]; for (int i = 0; i < selectedItems.size(); i++) { outputStrArr[i] = selectedItems.get(i); } Intent intent = new Intent(getApplicationContext(), ResultActivity.class); // Create a bundle object Bundle bundle = new Bundle(); bundle.putStringArray("selectedItems", outputStrArr); // Add the bundle to the intent. intent.putExtras(bundle); // start the ResultActivity startActivity(intent); } }); } } |
activity_result.xml
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/outputList" android:layout_width="fill_parent" android:layout_height="fill_parent" /> |
ResultActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package com.phaisarn.jackapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; public class ResultActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); Bundle b = getIntent().getExtras(); String[] resultArr = b.getStringArray("selectedItems"); ListView listView = findViewById(R.id.outputList); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, resultArr); listView .setAdapter(adapter); } } |
Link