2014-01-12 135 views
0

我想问我的项目。我创建了一个类(RestoranView.class),它有3个按钮:菜单,地图和分级。其中两个(地图和评级)工作正常,但当我点击按钮“菜单”,它不起作用,logcat显示这些错误。我已经实现了相同的代码。你能帮我解决这个错误吗?提前致谢。java.lang.IllegalStateException:无法找到一个方法onClick处理程序与id_button

logcat的错误

01-12 22:04:28.543: E/AndroidRuntime(25625): FATAL EXCEPTION: main 
01-12 22:04:28.543: E/AndroidRuntime(25625): java.lang.IllegalStateException: Could not  find a method MenuClick(View) in the activity class com.example.hellojson.RestoranView for onClick handler on view class android.widget.Button with id 'button_menu' 
01-12 22:04:28.543: E/AndroidRuntime(25625): at android.view.View$1.onClick(View.java:3685) 
01-12 22:04:28.543: E/AndroidRuntime(25625): at android.view.View.performClick(View.java:4222) 

RestoranView.java

ackage com.example.hellojson; 

public class RestoranView extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.restoran_view); 

// intent from RestoranView.class to the Map.class 
public void MenuCLick (View v) { 
    Intent menu = new Intent(RestoranView.this, TabMenu.class); 
    menu.putExtra(Restoran.id_restoran_tags, resto.getId_restoran()); 
    startActivity(menu); 
} 

// intent from RestoranView.class to the Map.class 
public void MapsClick(View v) { 
    Intent maps = new Intent(RestoranView.this, Map.class); 
    maps.putExtra(Restoran.nama_tags, resto.getNama()); 
    maps.putExtra(Restoran.latitude_tags, resto.getLatitude()); 
    maps.putExtra(Restoran.longitude_tags, resto.getLongitude()); 
    maps.putExtra(Restoran.desc_tags, resto.getDesc()); 
    startActivity(maps); 

} 

// intent from RestoranView.class to the Rating.class 
public void RatingClick(View v) { 
    Intent rating = new Intent(RestoranView.this, Rating.class); 
    rating.putExtra(Restoran.id_restoran_tags, resto.getId_restoran()); 
    rating.putExtra(Restoran.nama_tags, resto.getNama()); 
    startActivity(rating); 
    } 
} 

RestoranView.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/background" 
    android:orientation="vertical" > 

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="false" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/nama_restoran_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:paddingBottom="10dip" 
      android:paddingTop="5dip" 
      android:text="Nama Restoran" 
      android:textColor="@color/Navy" 
      android:textSize="25sp" 
      android:textStyle="bold" /> 

     <ImageView 
      android:id="@+id/image_restoran_view" 
      android:layout_width="275dp" 
      android:layout_height="241dp" 
      android:layout_gravity="center_horizontal" 
      android:paddingTop="10dip" 
      android:src="@drawable/ic_launcher" /> 

     <TextView 
      android:id="@+id/alamat_restoran_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingTop="10dip" 
      android:text="Alamat :" 
      android:textColor="@color/Navy" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/phone_restoran_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingTop="10dip" 
      android:text="Phone : " 
      android:textColor="@color/Navy" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/deskripsi_restoran_view" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:paddingTop="10dip" 
      android:text="Deskripsi" 
      android:textColor="@color/Navy" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <Button 
       android:id="@+id/button_menu" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.30" 
       android:onClick="MenuClick" 
       android:text="Menu" /> 

      <Button 
       android:id="@+id/button_maps" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.30" 
       android:onClick="MapsClick" 
       android:text="Maps" /> 

      <Button 
       android:id="@+id/button_rating" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.30" 
       android:onClick="RatingClick" 
       android:text="Rating" /> 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 

</LinearLayout> 

AndroidManifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.hellojson" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="17" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.hellojson.SplashScreen" 
     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=".MenuUtama" > 
    </activity> 
    <activity android:name=".AboutMedan" > 
    </activity> 
    <activity android:name=".AllVenue" > 
    </activity> 
    <activity android:name=".TabMenu" > 
    </activity> 
    <activity android:name=".Map" > 
    </activity> 
    <activity android:name=".RestoranView" > 
    </activity> 
    <activity android:name=".Rating" > 
    </activity> 
    <activity android:name=".Search" > 
    </activity> 


</application> 

</manifest> 

回答

4
Could not find a method MenuClick(View) in the activity class com.example.hellojson.RestoranView for onClick handler on view class android.widget.Button with id 'button_menu' 

变化

public void MenuCLick (View v) 

public void MenuClick (View v) { // l small 

!因为你

android:onClick="MenuClick" // its MenuClick not MenuCLick 

正如tobor说

@Override 
protected void onCreate(Bundle savedInstanceState) { 
// TODO Auto-generated method stub 
super.onCreate(savedInstanceState); 
setContentView(R.layout.restoran_view); 
} // missing } 
+0

哦天啊,只有一个L字母会导致我几天无法修复的错误。感谢您的更正...^_^ –

+1

@ user3187074除了您错过了'onCreate'的'}'或者您在发布时错过了。 – Raghunandan

+0

@WulanRahmadiny自从你的新的到stackoverflow看看这个http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Raghunandan

1

您没有关闭您的onCreate方法...... MenuClick之前添加缺少}。

+0

谢谢@Tobor,我已经尝试了这个建议,错误是我输错了带有大“L”字母的“l”字母。 –

+0

不客气。我没有注意到L ...;) –

0

在我来说,我不是在onclick功能添加视图参数

改变

public void sendMessage() 

public void sendMessage(View v) 
0

就我而言,在Android棒棒糖,请从主题属性xml并将主题放在android清单中。它应该开始工作。

相关问题