此例为了实现显示两个int类型的数字的乘积 分析思路: 1、需要2个输入字符的控件,这里我们使用EditText。 2、1个TextView控件,用来显示乘法两个字。 3、1个Button按钮控件,并且需要在按钮上绑定监听器,操作取出EditText的值。 4、建立一个Intent对象,把取出的两个EditText的值存入Intent对象。 5、把Intent对象传入第一个新的Activty,用来显示相乘的结果。
代码如下: Main.java
package dan.calculate;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class Main extends Activity { /** Called when the activity is first created. */ EditText factorOne = null; EditText factorTwo = null; TextView symbol = null; Button calculate = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); factorOne = (EditText) findViewById(R.id.factorOne); factorTwo = (EditText) findViewById(R.id.factorTwo); symbol = (TextView) findViewById(R.id.symbol); calculate = (Button) findViewById(R.id.calculate); symbol.setText(R.string.symbol); calculate.setText(R.string.calculate); calculate.setOnClickListener(new CalculateListener()); }
@Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0,1,1,R.string.exit); menu.add(0,2,2,R.string.about); return super.onCreateOptionsMenu(menu); }
@Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub if(item.getItemId()==1){ finish(); } return super.onOptionsItemSelected(item); }
class CalculateListener implements OnClickListener{
@Override public void onClick(View v) { String factorOneStr = factorOne.getText().toString(); String factorTwoStr = factorTwo.getText().toString(); Intent intent = new Intent(); intent.putExtra("One", factorOneStr); intent.putExtra("Two", factorTwoStr); intent.setClass(Main.this, Result.class); Main.this.startActivity(intent); }
} }
Result.java package dan.calculate;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView;
public class Result extends Activity{ TextView resultView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.result); Intent intent = getIntent(); String factorOne = intent.getStringExtra("One"); String factorTwo = intent.getStringExtra("Two"); int result = Integer.parseInt(factorOne)*Integer.parseInt(factorTwo); resultView = (TextView) findViewById(R.id.result); resultView.setText(result+""); }
}
main.xml
<linearlayout xmlns:android="http://schemas./apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <edittext android:id="@+id/factorOne" android:layout_width="fill_parent" android:layout_height="wrap_content"> <textview android:id="@+id/symbol" android:layout_width="fill_parent" android:layout_height="wrap_content"> <edittext android:id="@+id/factorTwo" android:layout_width="fill_parent" android:layout_height="wrap_content"> <button android:id="@+id/calculate" android:layout_width="fill_parent" android:layout_height="wrap_content"> </button></edittext> </textview></edittext></linearlayout>
result.xml
<linearlayout xmlns:android="http://schemas./apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <textview android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content"> </textview> </linearlayout>
string.xml
<resources> <string name="hello">Hello World, Main!</string> <string name="app_name">Calculate</string> <string name="result">结果</string> <string name="symbol">乘以</string> <string name="calculate">计算</string> <string name="exit">退出</string> <string name="about">关于</string> </resources>
AndroidManifest.xml
<manifest xmlns:android="http://schemas./apk/res/android" package="dan.calculate" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"> <category android:name="android.intent.category.LAUNCHER"> </category> </action>
<activity android:name=".Result" android:label="@string/result"> </activity> </intent-filter> <uses-sdk android:minsdkversion="8">
</uses-sdk> </activity></application></manifest> 实现效果如下:
|