今天给大家实现一个控件功能,具体见图
Android控件_Android控件
Android控件_Android控件_02
1:设置layout/main.xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_;fill_parent"
        android:layout_height="fill_parent"
        >
        <EditText
                android:layout_;fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/edt1"
        />
        <TextView
                android:layout_;fill_parent"
                android:layout_height="wrap_content"
                android:text="@string/tv"
                android:id="@+id/tv"
        />
        <EditText
                android:layout_;fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/edt2"
        />
        <Button
                android:id="@+id/button"
                android:layout_;fill_parent"
                android:layout_height="wrap_content"
                android:text="@string/button"
        />
</LinearLayout>
2:创建计算返回结果的布局layout/result.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_;fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
            <TextView
                    android:id="@+id/result"
                    android:layout_;fill_parent"
                    android:layout_height="wrap_content"
            />
</LinearLayout>
3:填充布局所对应的values/string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
        <string name="hello">Hello World, ActivityDemo!</string>
        <string name="app_name">ActivityDemo</string>
        <string name="button">计算</string>
        <string name="tv">乘以</string>
        <string name="exit">退出</string>
        <string name="about">关于</string>
</resources>
4:实现布局功能的ActivityDemo.java代码
package com.android.test;
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 ActivityDemo extends Activity {
        private EditText factorOne, factorTwo;
        private TextView symbol;
        private Button calculate;
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                //根据控件的ID来取得代表控件的对象
                factorOne = (EditText)findViewById(R.id.edt1);
                factorTwo = (EditText)findViewById(R.id.edt2);
                symbol = (TextView)findViewById(R.id.tv);
                calculate = (Button)findViewById(R.id.button);
             //将监听器的对象绑定到按钮对象上面
                calculate.setOnClickListener(new CalculateListener());
        }
        //当客户点击MENU按钮的时候,调用该方法
        public boolean onCreateOptionsMenu(Menu menu) {
                menu.add(0, 1, 1, R.string.exit);
                menu.add(0, 2, 2, R.string.about);
                return super.onCreateOptionsMenu(menu);
        }
        //当客户点击菜单当中的某一个选项时,会调用该方法
        public boolean onOptionsItemSelected(MenuItem item) {
                if(item.getItemId() == 1) {
                        finish();
                }else if(item.getItemId() == 2) {
                }
                return super.onOptionsItemSelected(item);
        }
        class CalculateListener implements OnClickListener {
                public void onClick(View v) {
                        String factorOneStr = factorOne.getText().toString();
                        String factorTwoStr = factorTwo.getText().toString();
                        //封装起来,将这俩个值放到Intent对象中
                        Intent intent = new Intent();
                        intent.putExtra("one", factorOneStr);
                        intent.putExtra("two", factorTwoStr);
                        intent.setClass(ActivityDemo.this, ResultActivity.class);
                        ActivityDemo.this.startActivity(intent);
                }
        }
}
5:实现转换为计算结果的布局ResultActivity.java代码
package com.android.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity {
        private TextView resultView;
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.result);
                resultView = (TextView)findViewById(R.id.result);
                Intent intent = getIntent();
                String factorOneStr = intent.getStringExtra("one");
                String factorTwoStr = intent.getStringExtra("two");
                //转换int类型
                int factorOneInt = Integer.parseInt(factorOneStr);
                int factorTwoInt = Integer.parseInt(factorTwoStr);
                int result = factorOneInt * factorTwoInt;
                resultView.setText(result + "");
        }
}
6:必须在AndroidManifest.xml注册ResultActivity.java
<activity android:name=".ResultActivity">
</activity>