Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构造函数ArrayAdapter<;字符串>;(SmsActivity,int,SmsActivity.SmsReceived)未定义??_Java_Android_List_Listadapter - Fatal编程技术网

Java 构造函数ArrayAdapter<;字符串>;(SmsActivity,int,SmsActivity.SmsReceived)未定义??

Java 构造函数ArrayAdapter<;字符串>;(SmsActivity,int,SmsActivity.SmsReceived)未定义??,java,android,list,listadapter,Java,Android,List,Listadapter,下面的代码显示一个错误消息 setListAdapter(new ArrayAdapter<String>(this, R.layout.main,mSmsReceiver)); 完整代码: import... .... public class SmsActivity extends ListActivity { private SmsReceived mSmsReceiver; public SmsActivity(){

下面的代码显示一个错误消息

setListAdapter(new ArrayAdapter<String>(this, R.layout.main,mSmsReceiver));
完整代码:

    import...
    ....   

    public class SmsActivity extends ListActivity {
    private SmsReceived mSmsReceiver;
    public SmsActivity(){
    mSmsReceiver = new SmsReceived();

    setListAdapter(new ArrayAdapter<String>(this, R.layout.main,mSmsReceiver));

    ListView listView = getListView();
    listView.setTextFilterEnabled(true);

    //---method is call when listitem is clicked---
    listView.setOnItemClickListener(new OnItemClickListener() {edit later});
    }


    private class SmsReceived extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        //---get the SMS message passed in---
        Bundle bundle = intent.getExtras();        
        SmsMessage[] msgs = null;
        String str = "";     
        if (bundle != null)
        {
            //---retrieve the SMS message received---
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];            
            for (int i=0; i<msgs.length; i++){
                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
                str += "SMS from " + msgs[i].getOriginatingAddress();                          

            }
        }
    }
    }
    }
导入。。。
....   
公共类SmsActivity扩展了ListActivity{
私人短信接收mSmsReceiver;
公共服务活动(){
mSmsReceiver=新的SmsReceived();
setListAdapter(新的ArrayAdapter(this,R.layout.main,mSmsReceiver));
ListView ListView=getListView();
setTextFilterEnabled(true);
//---方法是在单击listitem时调用的---
setOnItemClickListener(新的OnItemClickListener(){edit later});
}
私有类SmsReceived扩展广播接收器{
@凌驾
公共void onReceive(上下文、意图)
{
//---获取传入的SMS消息---
Bundle=intent.getExtras();
SmsMessage[]msgs=null;
字符串str=“”;
if(bundle!=null)
{
//---检索收到的SMS消息---
Object[]pdus=(Object[])bundle.get(“pdus”);
msgs=新SMS消息[PDU.length];

对于(int i=0;i要修复错误,您需要正确的对象类型作为适配器的参数。由于您告诉
ArrayAdapter
它将具有
String
数据类型,因此您必须提供类型为
String
的数组或列表集合对象

更改此项:

private SmsReceived mSmsReceiver;
为此:

private String[] mSmsReceiver;
//or
private List<String> mSmsReceiver
私有字符串[]mSmsReceiver;
//或
私有列表mSmsReceiver
更改mSmsReceiver的数据类型后,请确保在将其推入阵列适配器之前对其进行初始化并填写一些数据

private String[] mSmsReceiver;
//or
private List<String> mSmsReceiver