自定义Hashmap数组适配器中的AlertDialog

时间:2013-05-25 17:58:55

标签: android listview hashmap

我正在创建一个自定义Hash地图数组适配器。当用户点击一个元素时,会弹出一个AlertDialog,该用户可以看到他的消息, 为此,我使用此代码,

final AlertDialog.Builder alert = new AlertDialog.Builder(this);



    alert.setTitle("PassWord Protected Message");
            alert.setMessage("Please Enter The Password to See The Messages");

            // Set an EditText view to get user input 
            final EditText input = new EditText(this);
            alert.setView(input);

            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int whichButton) 
            {
        //  Editable value = input.getText();
             // Do something with value!
                String we=input.getText().toString();
            //  Toast.makeText(getApplicationContext(), we, Toast.LENGTH_SHORT ).show();
                if (we.equalsIgnoreCase("password"))
                {
                    try 
                    {
                        String[] splitted = smsList.get( pos ).split("\n"); 
                        String sender = splitted[0];

                        for ( int i = 1; i < splitted.length; ++i )
                        {
                           //some code here
                        }

                    } 
                    catch (Exception e) 
                    {
                        e.printStackTrace();
                    }

                }

            }
            });

            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
             public void onClick(DialogInterface dialog, int whichButton) {
                 // Canceled.
            }
            });

             alert.show();

AlertDialog会要求用户输入密码。然后用户就能看到这些消息。 但是我收到了错误,

String[] splitted = smsList.get( pos ).split("\n"); 

在这里,我得到了分割函数的错误,错误是“方法split(String)未定义类型HashMap”。

1 个答案:

答案 0 :(得分:0)

您必须输入强制转换为String

的smsList
String[] splitted = ((String)smsList.get( pos )).split("\n");