2013-03-08 63 views
0

我是Android新手,在这方面遇到困难。我想要做的就是将数据从数据库显示到列表视图。该错误始终是未处理的异常:illegelargumentexception。为什么我在这里得到一个非法的观点?

我的XML是:

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout 
    android:id="@+id/widget0" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <Button 
    android:id="@+id/button1" 
    android:layout_width="117dp" 
    android:layout_height="29dp" 
    android:text="SAVE" 
    android:textSize="8sp" 
    android:layout_x="17dp" 
    android:layout_y="186dp" /> 
    <TextView 
    android:id="@+id/fname" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="First Name" 
    android:textSize="10sp" 
    android:layout_x="134dp" 
    android:layout_y="24dp" /> 
    <TextView 
    android:id="@+id/lname" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Last Name" 
    android:textSize="10sp" 
    android:layout_x="132dp" 
    android:layout_y="75dp" /> 
    <EditText 
    android:id="@+id/t1" 
    android:layout_width="287dp" 
    android:layout_height="32dp" 
    android:text="EditText" 
    android:textSize="12sp" 
    android:layout_x="15dp" 
    android:layout_y="43dp" /> 
    <EditText 
    android:id="@+id/t2" 
    android:layout_width="287dp" 
    android:layout_height="34dp" 
    android:textSize="12sp" 
    android:layout_x="14dp" 
    android:layout_y="96dp" /> 
    <TextView 
    android:id="@+id/mname" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Middle Name" 
    android:textSize="10sp" 
    android:layout_x="126dp" 
    android:layout_y="130dp" /> 
    <EditText 
    android:id="@+id/t3" 
    android:layout_width="287dp" 
    android:layout_height="31dp" 
    android:textSize="12sp" 
    android:layout_x="13dp" 
    android:layout_y="149dp" /> 
    <TextView 
    android:id="@+id/text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" 
    android:textSize="10sp" 
    android:layout_x="139dp" 
    android:layout_y="191dp" /> 

    <ListView 
    android:id="@+id/lst" 
    android:layout_width="320dp" 
    android:layout_height="172dp" 
    android:background="#ffccccff" 
    android:layout_x="0dp" 
    android:layout_y="258dp" /> 


    <TextView 
    android:id="@+id/ID" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="TextView" 
    android:layout_x="26dp" 
    android:layout_y="224dp" /> 
    <TextView 
    android:id="@+id/fnameshow" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" 
    android:layout_x="94dp" 
    android:layout_y="225dp" /> 
    <TextView 
    android:id="@+id/lnameshow" 
    android:layout_width="wrap_content" 
    android:layout_height="21dp" 
    android:text="TextView" 
    android:layout_x="164dp" 
    android:layout_y="225dp" /> 
    <TextView 
    android:id="@+id/mnameshow" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" 
    android:layout_x="230dp" 
    android:layout_y="227dp" /> 

    <Button 
    android:id="@+id/btnFind" 
    android:layout_width="117dp" 
    android:layout_height="29dp" 
    android:text="Find" 
    android:textSize="10sp" 
    android:layout_x="193dp" 
    android:layout_y="186dp" /> 
</AbsoluteLayout> 

Code: 

void find_Click(object sender, EventArgs e) 
     { 
      string sColumnName = ""; 
       if (text1.Text.Trim() != "") { 
        sColumnName = "fname"; 
        GetCursorView (sColumnName, text1.Text.Trim()); 
       } else 
       if (text2.Text.Trim() != "") { 
        sColumnName = "lname"; 
        GetCursorView (sColumnName, text2.Text.Trim()); 
       } else 
       if (text3.Text.Trim() != "") { 
        sColumnName = "mname"; 
        GetCursorView (sColumnName, text3.Text.Trim()); 
       } 
       text.Text = "Search " + sColumnName + "."; 
       ListView lvTemp = FindViewById<ListView>(Resource.Id.lst); 
       lvTemp.ItemClick += new EventHandler<AdapterView.ItemClickEventArgs>(ListView_ItemClick); 

     }   



protected void GetCursorView(string sColumn, string sValue) 
     { 
      Android.Database.ICursor icTemp = sql.GetRecordCursor(sColumn, sValue); 
      if (icTemp != null) 
      { 
       icTemp.MoveToFirst(); 
       ListView lvTemp = FindViewById<ListView>(Resource.Id.lst); 
       string[] from = new string[] { "id", "fname", "lname", "mname" }; 
       int[] to = new int[] { 
        Resource.Id.ID, 
        Resource.Id.fnameshow, 
        Resource.Id.lnameshow, 
        Resource.Id.mnameshow 
       }; 
       // creating a SimpleCursorAdapter to fill ListView object. 
       SimpleCursorAdapter scaTemp = new SimpleCursorAdapter(this, Resource.Layout.Main, icTemp, from, to); //Error on this line 
       lvTemp.Adapter = scaTemp; 
      } 
      else 
      { 
       text.Text = sql.Message; 
      } 
     } 
+0

哪条线导致错误?你可以发布堆栈跟踪吗? – 2013-03-08 03:18:59

+0

可能是一个相同的问题http://stackoverflow.com/questions/14617640 – StarPinkER 2013-03-08 03:27:13

+0

SimpleCursorAdapter scaTemp = new SimpleCursorAdapter(this,Resource.Layout.Main,icTemp,from,to);在这一行是错误 – user2146902 2013-03-08 03:29:54

回答

0

您参考列表视图应该 lvtemp =(ListView控件)findViewById(R.id.lst)

+0

即时通讯不使用java先生..即时通讯使用C#单声道为Android。但为你的答案ty .. – user2146902 2013-03-12 00:53:24

相关问题