"接线式"在Android中更改View的按钮

时间:2014-09-05 19:50:07

标签: java android xml

我正在构建一个按下按钮时需要的应用程序。 (搜索)然后打开搜索页面,单击(主页)按钮,然后返回主视图。我缺少的是在这两个视图之间建立连接的知识。这就是主页在XML中的样子。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
//Title


//Search Student Button 

<Button
    android:id="@+id/button1"
    android:layout_width="86dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:longClickable="false"
    android:text="Search Student" />

//New Student Button 

<Button
    android:id="@+id/button2"
    android:layout_width="99dp"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:longClickable="false"
    android:text="New Studetn " />

//法律按钮

<Button
    android:id="@+id/button3"
    android:layout_width="82dp"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:longClickable="false"
    android:text="Legal Info" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_above="@+id/button1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="66dp"
    android:text="Student Registration "
    android:textAppearance="?android:attr/textAppearanceLarge" />

该应用程序的一些图片。 http://imgur.com/aVpqUCZ

2 个答案:

答案 0 :(得分:0)

Button searchStudentButton;
Button newStudentButton;
Button legalButton;

searchStudentButton = (Button) findViewById(R.id.button1);

searchStudentButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
    Intent myIntent = new Intent(CurrentActivity.this, searchStudentActivity.class);
    CurrentActivity.this.startActivity(myIntent);
    }
});

newStudentButton = (Button) findViewById(R.id.button2);

newStudentButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
    Intent myIntent = new Intent(CurrentActivity.this, newStudentActivity.class);
    CurrentActivity.this.startActivity(myIntent);
    }
});

legalButton = (Button) findViewById(R.id.button3);

legalButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
    Intent myIntent = new Intent(CurrentActivity.this, legalActivity.class);
    CurrentActivity.this.startActivity(myIntent);
    }
});

不要忘记在AndroidManifest.xml中添加新活动:

<activity android:label="@string/app_name" android:name="searchStudentActivity"/>
<activity android:label="@string/app_name" android:name="newStudentActivity"/>
<activity android:label="@string/app_name" android:name="legalActivity"/>

答案 1 :(得分:0)

当处理多个视图和/或按钮时,我通常更喜欢在所有视图中使用onClickListener的一个实例,以保持代码更清晰。

public class MainActivity extends Activity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.my_layout);

        Button btnSearchStudent = (Button) findViewById(R.id.button1);
        Button btnNewStudent = (Button) findViewById(R.id.button2);
        Button btnLegalInfo = (Button) findViewById(R.id.button3);

        btnSearchStudent.setOnClickListener(this);
        btnNewStudent.setOnClickListener(this);
        btnLegalInfo.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button1: {
                Intent intent = new Intent(this, SearchStudentActivity.class);
                startActivity(intent);
                break;
            }
            case R.id.button2: {
                Intent intent = new Intent(this, NewStudentActivity.class);
                startActivity(intent);
                break;
            }
            case R.id.button3: {
                Intent intent = new Intent(this, LegalInfoActivity.class);
                startActivity(intent);
                break;
            }
        }
    }
}

我建议您将按钮的android:id属性更改为更有意义的名称。这样可以更轻松地查看您在代码中引用的内容。我个人更喜欢将视图放在视图类之前,例如Button btn _ TextView tv _ 。请务必更新您对findViewById()的通话以及switch声明中使用的ID。

最后,如果您还没有发布Sagar Pilkhwal,请不要忘记将您的活动添加到AndroidManifest.xml文件中。