2012-06-21 51 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"));    
      }  
    } 
} 
相关问题