温馨提示×

AlertDialog.Builder怎样实现单选功能

小樊
83
2024-10-12 21:13:24
栏目: 编程语言

要实现AlertDialog的单选功能,你可以使用setSingleChoiceItems()方法。这个方法允许你设置一个包含单选选项的列表,并为每个选项设置一个监听器,以便在用户选择某个选项时执行相应的操作。下面是一个简单的示例:

import androidx.appcompat.app.AlertDialog;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showRadioButtonDialog();
            }
        });
    }

    private void showRadioButtonDialog() {
        String[] options = {"Option 1", "Option 2", "Option 3"};

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Select an option");
        builder.setSingleChoiceItems(options, -1, new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String selectedOption = parent.getItemAtPosition(position).toString();
                Toast.makeText(MainActivity.this, "Selected: " + selectedOption, Toast.LENGTH_SHORT).show();
            }
        });

        builder.setPositiveButton("OK", null);
        builder.show();
    }
}

在这个示例中,我们创建了一个包含三个单选选项的AlertDialog。setSingleChoiceItems()方法的第一个参数是一个字符串数组,表示选项列表;第二个参数是默认选中的选项(-1表示没有默认选中);第三个参数是一个OnItemClickListener,当用户选择一个选项时,它会执行相应的操作。在这个例子中,我们只是弹出一个Toast消息,显示用户选择的选项。

0