我正在创建一个自定义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”。
答案 0 :(得分:0)
您必须输入强制转换为String
String[] splitted = ((String)smsList.get( pos )).split("\n");