我将代码设置为在单击 getFin 按钮时转到名为 getfinal 的 xml 布局。但是每当我单击该按钮时,我的应用程序就会崩溃。setContentview 在这种情况下使用的命令是否错误?如果是这样,我如何在单击按钮时转到新的 xml 布局?
package wilson.GC;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;
public class GradeCalculatorActivity extends Activity {
/** Called when the activity is first created. */
Button getEx, getFin;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getEx = (Button)findViewById(R.id.getexambutton);
getFin = (Button)findViewById(R.id.getfinalbutton);
getFin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
setContentView(R.layout.getfinal);
double q1, q2, ex, fin;
EditText etq1, etq2, eteg;
etq1 = (EditText)findViewById(R.id.editText1);
q1 = Double.parseDouble(etq1.getText().toString());
etq2 = (EditText)findViewById(R.id.editText2);
q2 = Double.parseDouble(etq2.getText().toString());
eteg = (EditText)findViewById(R.id.editText3);
ex = Double.parseDouble(eteg.getText().toString());
fin = 0.4*q1+0.4*q2+0.2*ex;
if(fin == (int)fin){
System.out.println((int)fin);
}
else{
fin = 0.01*((int)(fin*100));
System.out.println(fin);
}
TextView tvfin = null;
tvfin.setText(fin+"");
tvfin = (TextView)findViewById(R.id.tvfinalgrade);
}
});
}
}
如果您需要两个 xml 页面的代码,请告诉我。