2012-06-21 49 views
0

單擊該按鈕時誤差在這裏; S編碼使用到紡紗,應用程序工作正常,但顯示

<Button 
     android:id="@+id/conv" 
     android:layout_width="150dp" 
     android:layout_height="70dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="76dp" 
     android:text="Convert" 
     android:onClick="onCreate"/> 

public class LstActivity extends Activity { 

EditText et; 
TextView tv; 
Button b1; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    et=(EditText)findViewById(R.id.editText1); 

Spinner spinner=(Spinner)findViewById(R.id.spinner1); 
Spinner s2=(Spinner)findViewById(R.id.spinner2); 


ArrayAdapter<?> adapter=ArrayAdapter.createFromResource(this, R.array.weight, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter);  
    spinner.setOnItemSelectedListener(new myaction()); 


    tv=(TextView)findViewById(R.id.textView3); 

    ArrayAdapter<?> adapter1=ArrayAdapter.createFromResource(this, R.array.weight, android.R.layout.simple_spinner_item); 
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s2.setAdapter(adapter1);  
    s2.setOnItemSelectedListener(new myaction2()); 
    b1=(Button)findViewById(R.id.conv); 
    et.setText("0"); 


    float x=(Float.parseFloat(String.valueOf(et.getText()))); 





    if ((spinner.getSelectedItemPosition()==2) && ((s2.getSelectedItemPosition()==1))) 
    { 

     tv.setText(String.valueOf(gmtomilli(x)+"mg")); 
    } 


    } 

該應用程序啓動正常,但點擊該按鈕時,顯示以下錯誤。

06-21 15:48:46.509: E/AndroidRuntime(2260): java.lang.IllegalStateException: Could not find a method onCreate(View) in the activity class kk.and.LstActivity for onClick handler on view class android.widget.Button with id 'conv' 

回答

0

如您使用的按鈕android:onClick="onCreate"這樣處理你必須創建功能按鈕單擊事件中的活動爲您onCreate(View v)具有

Button 
     android:id="@+id/conv" 
0

正如我看了看上面的代碼,也沒有單擊處理程序按鈕:)

試試這個:

<Button 
     android:id="@+id/conv" 
     android:layout_width="150dp" 
     android:layout_height="70dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="76dp" 
     android:text="Convert" 
     android:onClick="click_view"/> 

一第二在Java代碼中像這樣創建的方法click_view:

public void click_view(View v){ 
    //your to-do code here... 
} 
0

擴大對薩米爾的回答(改android:onClick="onCreate"android:onClick="btnclick")與代碼向您展示如何使其工作:

public class LstActivity extends Activity { 

    EditText et; 
    TextView tv; 
    Button b1; 
    Spinner spinner; 
    Spinner s2; 
    float x; 

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

     spinner=(Spinner)findViewById(R.id.spinner1);  
     s2=(Spinner)findViewById(R.id.spinner2);  

     // your other code 

     x=(Float.parseFloat(String.valueOf(et.getText())));   

    } 

    public void btnclick(View v){  
      if ((spinner.getSelectedItemPosition()==2) && ((s2.getSelectedItemPosition()==1))) {    
      tv.setText(String.valueOf(gmtomilli(x)+"mg"));    
      }  
    } 
} 
相關問題