Android从String数组中获取值

时间:2013-08-11 22:17:58

标签: java android arrays dialog

我只想要一个对话框来显示数组中的值。然后在按钮上单击,我想获取所选单选按钮的值并以吐司形式显示。谢谢你提前回答!非常感谢。

package com.example.moredialogs;

import java.lang.reflect.Array;
import java.util.ArrayList;

import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.widget.Toast;

public class Next extends Activity {

private Context mContext; 

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

    mContext = this;


    AlertDialog.Builder builder = 
            new AlertDialog.Builder(mContext);
        builder.setTitle("Show dialog");

        final CharSequence[] choiceList = 
        {"Coke", "Pepsi" , "Sprite" , "Seven Up" };

        int selected = 0; 


        builder.setSingleChoiceItems(choiceList, selected, 
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        // TODO Auto-generated method stub


                        // This is where I want the value to be selected


                    }


        });
        builder.setPositiveButton("Sounds Good", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int id) {
                // User clicked OK, so save the mSelectedItems results somewhere
                // or return them to the component that opened the dialog

               // On button click I want the selected Item to go in here
            }

        });
        builder.show();
}

 }

2 个答案:

答案 0 :(得分:0)

首先,您需要将selected放入字段中。然后

// This is where I want the value to be selected

应该成为:

selected = arg1;

然后在听众中:

Toast.makeText(
    Next.this,
    "Selected " + choiceList[selected],
    Toast.LENGTH_SHORT)
.show();

答案 1 :(得分:0)

首先 - 创建一个字段mSelected

private int mSelected;

ChoiceListener设定值设为mSelected

builder.setSingleChoiceItems(choiceList, selected, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface arg0, int arg1) {
        mSelected = arg1;
    }
});

ButtonClickListener只显示Toast并解雇:

builder.setPositiveButton("Sounds Good", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int id) {
        final CharSequence item = choiceList[mSelected];
        Toast.makeText(mContext, item, Toast.LENGTH_LONG).show();
        dialog.dismiss();
    }
});