2011-05-30 147 views
0
enter code here 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383): FATAL EXCEPTION: main 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383): java.lang.IllegalStateException: Could not find a method appendText(View) in the activity class yaraby.y.yarab for onClick handler on view class android.widget.Button with id 'enter' 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.view.View$1.onClick(View.java:2059) 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.view.View.performClick(View.java:2408) 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.view.View$PerformClick.run(View.java:8816) 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.os.Handler.handleCallback(Handler.java:587) 
    05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.os.Handler.dispatchMessage(Handler.java:92) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.os.Looper.loop(Looper.java:123) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.app.ActivityThread.main(ActivityThread.java:4633) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at java.lang.reflect.Method.invoke(Method.java:521) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at dalvik.system.NativeStart.main(Native Method) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383): Caused by: java.lang.NoSuchMethodException: appendText 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at java.lang.ClassCache.findMethodByName(ClassCache.java:308) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at java.lang.Class.getMethod(Class.java:985) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  at android.view.View$1.onClick(View.java:2052) 
05-30 22:54:51.245: ERROR/AndroidRuntime(1383):  ... 11 more 

Yaraby类安卓GPS次活动错误时,点击下一步按钮

enter code here 

    public class yaraby extends Activity { 
/** Called when the activity is first created. */ 
String sentence,sentence1, modifiedSentence;; 
EditText inputfld, txt; 
TextView Text; 
Button Enter, Connect, next; 
Socket clientSocket; 

DataOutputStream outToServer; 
BufferedReader inFromServer ; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    inputfld=(EditText)findViewById(R.id.input); 
    Text=(TextView)findViewById(R.id.view); 
    Enter=(Button)findViewById(R.id.enter); 
    Connect=(Button)findViewById(R.id.connect); 

    Text.append("\n about to create a socket");  


    txt=(EditText)findViewById(R.id.txt); 
    next = (Button) findViewById(R.id.Button01); 

    next.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      try{ 
      Intent i = new Intent(yaraby.this, yarab.class); 
      startActivity(i); 
      } 
      catch(Error e){ 
       Log.e("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", e.getMessage()); 
      } 

     }}); 

        } 





public void appendText(View view){ 
    Text.append("\n In chat "); 

    try{ 

    sentence=inputfld.getText().toString(); 
    sentence1="ingyyyy"; 
    Text.append("\n DataStream creating");   
    outToServer.writeBytes(sentence); 
    outToServer.writeBytes(sentence1); 
    Thread.sleep(1000); 
    modifiedSentence = inFromServer.readLine(); 
    Text.append(modifiedSentence); 
    inputfld.setText(null); 

    } 
    catch(Exception modifiedsentence){ 
     Text.append("Exception"); 
    } 


} 


public void connect(View view){ 
    try{ 
     clientSocket= new Socket("192.168.1.6",54611); 
     Text.append("\n created a socket"); 
     outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
     Text.append("\n created a datastream"); 
     inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
     Text.append("\n created a bufferReader"); 
     outToServer = new DataOutputStream(clientSocket.getOutputStream()); 


      }catch(Exception e){ 
     System.out.println("Error"); 
     } 
       } 

enter code here 

    public class yarab extends MapActivity 

      { 
    Socket clientSocket; 
     TextView Text; 
private MapView mapView; 
private MapController mc; 
    DataOutputStream outToServer;    
    BufferedReader inFromServer ; 

int error = 50; 
GeoPoint p, p2; 
List<Overlay> mapOverlays; 
Drawable drawable, drawable; 
HelloItemizedOverlay itemizedOverlay, itemizedOverlay2; 

LocationManager locationManager; 

/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) 

{ 
    try { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 

     /* Use the LocationManager class to obtain GPS locations */ 

     LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

     LocationListener mlocListener = new MyLocationListener(); 

     mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
       0, mlocListener); 
     mapView = (MapView) findViewById(R.id.mapView); 

     // enable Street view by default 
     mapView.setStreetView(true); 

     // enable to show Satellite view 
     mapView.setSatellite(true); 

     // enable to show Traffic on map 
     // mapView.setTraffic(true); 
     mapView.setBuiltInZoomControls(true); 

     mc = mapView.getController(); 
     // mapView.setStreetView(true); 
     // mapView.setSatellite(true); 
     mc.setZoom(12); 
     addOverLays(); 
     } catch (Exception e) { 
     Log.d("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", e.getMessage()); 
    } 

} 


public void addOverLays() { 
    String[] coordinates = { "31.216487288475037", "29.932637214660645", 
      "30.084123015403748", "51.5002", "-0.1262", 
      "31.337149143218994" }; 
    //lat10=29.97885355949402,lat11=29.98787991531372,lat12=29.98787991531372; 

    double lat = 29.98739718380868, lat2 = 29.987810254096985; 
    double log = 31.442527770886084, log2 = 31.44258677959442; 
    p = new GeoPoint((int) (lat * 1E6), (int) (log * 1E6)); 
    p2 = new GeoPoint((int) (lat2 * 1E6), (int) (log2 * 1E6)); 


    mapOverlays = mapView.getOverlays(); 
    drawable = this.getResources().getDrawable(R.drawable.wit); 
    drawable2 = this.getResources().getDrawable(R.drawable.ballon); 
; 
     itemizedOverlay17 = new HelloItemizedOverlay(drawable17, this); 
     itemizedOverlay15 = new HelloItemizedOverlay(drawable15, this); 
     itemizedOverlay16 = new HelloItemizedOverlay(drawable16, this); 
    itemizedOverlay = new HelloItemizedOverlay(drawable, this); 
    itemizedOverlay2 = new HelloItemizedOverlay(drawable2, this); 

    OverlayItem overlayitem = new OverlayItem(p, "Cairo", " over1"); 
    OverlayItem over2 = new OverlayItem(p2, "ulm", "over2"); 


    itemizedOverlay.addOverlay(overlayitem); 

    mapOverlays.add(itemizedOverlay); 

    itemizedOverlay2.addOverlay(over2); 
    mapOverlays.add(itemizedOverlay2); 




} 






public void Location(){ 



    LocationManager myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 


    LocationListener mlocListener1 = new MyLocationListener(); 

    LocationManager mlocManager1 = null; 
    mlocManager1.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
      0, mlocListener1); 
     // Get the current location in start-up 
      GeoPoint initGeoPoint = new GeoPoint((int)(myLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) 
     .getLatitude()*1000000),(int)(myLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude()*1000000)); 
     mc.animateTo(initGeoPoint); 
    mc.setZoom(16); 

    drawable21 = this.getResources().getDrawable(R.drawable.ggg); 
    itemizedOverlay21 = new HelloItemizedOverlay(drawable21,this); 
    OverlayItem over21 = new OverlayItem(initGeoPoint, "offff", "over21"); 

    itemizedOverlay21.addOverlay(over21); 
    mapOverlays.add(itemizedOverlay21); 
} 


/* Class My Location Listener */ 

public class MyLocationListener implements LocationListener 

{ 

    @Override 
    public void onLocationChanged(Location loc) 

    { 

     GeoPoint point = new GeoPoint((int) (loc.getLatitude() * 1E6), 
       (int) (loc.getLongitude() * 1E6)); 



     String Text = "My current location is: " + 

     "Latitud =" + loc.getLatitude()+ 

     "Longitud =" +loc.getLongitude() ;// loc.getLongitude() ; //loc.getLatitude()+"anoog" + (p3.getLatitudeE6() - error) 

     Toast.makeText(getApplicationContext(), 

     Text, 

     Toast.LENGTH_SHORT).show(); 


    mc.animateTo(point); 

    } 


    private Resources getResources() { 
     // TODO Auto-generated method stub 
     return null; 
    } 


    public void onProviderDisabled(String provider) 

    { 

     Toast.makeText(getApplicationContext(), 

     "Gps Disabled", 

     Toast.LENGTH_SHORT).show(); 

    } 

    public void onProviderEnabled(String provider) 

    { 

     Toast.makeText(getApplicationContext(), 

     "Gps Enabled", 

     Toast.LENGTH_SHORT).show(); 

    } 

    public void onStatusChanged(String provider, int status, Bundle extras) 

    { 

    } 

    protected boolean isRouteDisplayed() { 
     return false; 
    } 

}/* End of Class MyLocationListener */ 

@Override 
protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
} 

     } 

这里是mainfaist

enter code here 
    <?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".yaraby" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

<activity android:name=".Mapy" 
       android:label="@string/app_name"> 
     <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

<activity android:name=".HelloItemizedOverlay" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
</application> 

回答

0

您的问题是在这里的yarab.onCreate()方法:

} catch (Exception e) { 
    Log.d("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", e.getMessage()); 
} 

e.getMessage()是返回null,和Log.d不喜欢空消息。请尝试使用e.toString()。有些例外只是空消息。

+0

但是,请您检查主faist,因为现在当我点击下一步按钮它什么都不做 – hohi 2011-05-30 20:19:26

+0

@ geobits!帮助我请完美的Android,我是一名初学者,我需要紧急帮助 – hohi 2011-05-30 22:12:21

1

e.getMessage()是否返回null?

尝试:

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

在你onCreate方法的末尾(线105)

+0

主fafa错误 – hohi 2011-05-30 20:42:27