2012-10-09 30 views
2

我有一些問題,與「setOnClickListener(的onSave)」和‘View.OnClickListener’的Android/Eclipse的 - 節能按鈕錯誤

下面是我的代碼:

package apt.tutorial; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class LunchList extends Activity { 
Restaurant r = new Restaurant(); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

//save button 
//be notified when the button is clicked 
Button save =(Button)findViewById(R.id.save); 

save.setOnClickListener(onSave){ 
} 

private View.OnClickListener onSave=new View.OnClickListener(); 
public void onClick(View v) { 
    EditText name=(EditText)findViewById(R.id.name); 
    EditText address=(EditText)findViewById(R.id.addr); 

    r.setName(name.getText().toString()); 
    r.setAdress(address.getText().toString()); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 
} 

爲save.setOnClickListener(的onSave )我得到的錯誤save.setOnClickListener(onSave)和View.OnClickListener我得到的錯誤無法實例化類型View.OnClickListener

我看着這個網站和谷歌搜索這個問題把我沒有找到解決方案。我希望你們能幫助我。

迎接。

回答

2

刪除分號後

private View.OnClickListener onSave=new View.OnClickListener(); 

寫的onClick(視圖v)的onClickListener anonomous構造函數中或者與下面的代碼更改代碼。

private View.OnClickListener onSave=new View.OnClickListener(
public void onClick(View v) { 
    EditText name=(EditText)findViewById(R.id.name); 
    EditText address=(EditText)findViewById(R.id.addr); 

    r.setName(name.getText().toString()); 
    r.setAdress(address.getText().toString()); 
}); 
Button save =(Button)findViewById(R.id.save); 
save.setOnClickListener(onSave); 
+0

移除分號修復view.OnClickListener問題。 save.setOnClickListener(onSave){仍然有錯誤。 – mm1985

+0

將其更改爲save.setOnClickListener(onSave);它不需要另一個塊。 – TNR

+0

修復當前錯誤。但新的錯誤在onSave下彈出 - >令牌「onSave」上出現語法錯誤,VariableDeclaratorId在此令牌 – mm1985

0

試試下面的代碼:

  start.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 

      mainactivity(); 

     } 
    });