0

我制作了一个由 6 个水平线性布局组成的垂直线性布局。每个水平布局在滚动视图上包含 10 多个按钮。下面是主要的线性布局,其中包括一种水平布局。

    <LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" 
android:gravity="center"
xmlns:android="http://schemas.android.com/apk/res/android">
<HorizontalScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="75dp">

        <Button 
            android:id="@+id/button1"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button1"/>


        <Button
            android:id="@+id/button2"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button2"/>

        <Button
            android:id="@+id/button3"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button3"
            android:text="" />

        <Button
            android:id="@+id/button4"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button4"
            android:text="" />


        <Button
            android:id="@+id/button5"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button5"
            android:text="" />

        <Button
            android:id="@+id/button6"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button6"
            android:text="" />

        <Button
            android:id="@+id/button7"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button7"
            android:text="" />

        <Button
            android:id="@+id/button8"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button8"
            android:text=""
            android:textSize="" />

        <Button
            android:id="@+id/button9"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button9"
            android:text="" />

        <Button
            android:id="@+id/bCaitlyn"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/caitlynsplash"
            android:text="" />

        <Button
            android:id="@+id/button10"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button10"
            android:text=""
            android:textSize="10.5dp" />

        <Button
            android:id="@+id/button11"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button11"
            android:text=""
            android:textSize="11dp" />

        <Button
            android:id="@+id/button12"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button12"
            android:text="" />

        <Button
            android:id="@+id/button13"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:background="@drawable/button13"
            android:text=""
            android:textSize="11dp" />
        </LinearLayout>
        </HorizontalScrollView>

按下时未执行 onClick 命令似乎存在问题。该按钮正在识别触摸(因为它会改变颜色)但似乎没有任何反应。

    package com.LeagueProject;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    public class Project extends Activity implements View.OnClickListener{

Button Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8,
    Button9, Button10, Button11, Button12, Button13;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    projectbuttons();   
    Button1.setOnClickListener(this);
    Button2.setOnClickListener(this);
    Button3.setOnClickListener(this);

}


// Assigned Buttons
private void projectbuttons() {

    Button1 = (Button) findViewById(R.id.button1);
    Button2 = (Button) findViewById(R.id.button2);
    Button3 = (Button) findViewById(R.id.button3);
    Button4 = (Button) findViewById(R.id.button4);
    Button5 = (Button) findViewById(R.id.button5);
    Button6 = (Button) findViewById(R.id.button6);
    Button7 = (Button) findViewById(R.id.button7);
    Button8 = (Button) findViewById(R.id.button8);
    Button9 = (Button) findViewById(R.id.button9);
    Button10 = (Button) findViewById(R.id.button10);
    Button11 = (Button) findViewById(R.id.button11);
    Button12 = (Button) findViewById(R.id.button12);
    Button13 = (Button) findViewById(R.id.button13);

}


public void onClick(View v) {
    int id = v.getId();
    switch (id) {
        case R.id.button1:
        setContentView(R.layout.screen1);
            break;

        case R.id.button2:
        setContentView(R.layout.screen2);
            break;

        case R.id.button3:
        setContentView(R.layout.screen3);
            break;

    }

}
    }

任何见解以及提示/技术都非常受欢迎。

4

3 回答 3

3

当您implements View.OnClickListener在活动中时,您必须覆盖该onClick()方法,否则它永远不会执行..

@Override
public void onClick(View v) {
  .
  .
  .
 }
于 2012-05-03T05:10:08.770 回答
2

我使用默认按钮尝试了您的代码,但没有为按钮提供任何图像,它工作正常......它进入相应的布局......

于 2012-05-03T05:13:33.280 回答
0

我不确定这是否是您需要的,但您可以在布局文件本身中定义 onClick() 方法。

<Button 
        android:id="@+id/button1"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:background="@drawable/button1" 
        android:onClick="onClick"
/>

你能试试这个吗?

于 2012-05-03T05:03:57.287 回答