0

カスタム ハッシュ マップ配列アダプターを作成しています。その中で、ユーザーが要素をクリックすると、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"); 

これで、分割関数でエラーが発生し、エラーは「メソッド分割(文字列)はタイプHashMapに対して未定義です」です。

4

1 に答える 1

0

smsList を型キャストする必要がありますString

String[] splitted = ((String)smsList.get( pos )).split("\n"); 
于 2013-05-25T18:04:33.827 に答える