Android生成多个弹窗

发布于:2025-03-18 ⋅ 阅读:(14) ⋅ 点赞:(0)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/itemTextView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="16dp"
    android:textSize="18sp" />
 

 

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

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private String[] items = {"Item 1", "Item 2", "Item 3"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = findViewById(R.id.listView);
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.list_item, R.id.itemTextView, items);
        listView.setAdapter(adapter);

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

    private void showDialog(int position) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        switch (position) {
            case 0:
                builder.setTitle("Item 1")
                       .setMessage("This is the details of Item 1.")
                       .setPositiveButton("OK", null);
                break;
            case 1:
                builder.setTitle("Item 2")
                       .setMessage("This is the details of Item 2.")
                       .setPositiveButton("OK", null);
                break;
            case 2:
                builder.setTitle("Item 3")
                       .setMessage("This is the details of Item 3.")
                       .setPositiveButton("OK", null);
                break;
        }
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}