我做了一個由6個水平線性佈局組成的垂直線性佈局。每個水平佈局在滾動視圖上包含10個以上的按鈕。以下是包含其中一種水平佈局的主要線性佈局。onClick不在滾動視圖中的按鈕上執行?
<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;
}
}
}
任何洞察力以及技巧/技術都非常受歡迎。
即使與圖像的按鈕在這裏工作正常...你有什麼例外嗎? – sush
當我在手機上運行它時,它會停留在線性佈局屏幕上。我可以按下所有按鈕,但什麼也不會發生。這可能是一個月食錯誤? –
我嘗試在模擬器和工程..只是嘗試在模擬器一次交叉檢查 – sush