2015-11-18 87 views
0

我正在開發餐廳菜單應用程序。我在activity_main.xml中有9個圖像按鈕。例如:如果我點擊湯圖像按鈕,應用程序將湯價格和湯圖像在其他佈局。但我不想爲此創建9個佈局文件。所有價格都顯示爲一種佈局。我沒有寫這個方法。我在等你的幫助。對不起,我的英語不好。一個佈局中的很多活動

這是我的菜單。

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton2" 
    android:layout_gravity="left|top" 
    android:background="@drawable/corbalar" 
    android:contentDescription="@string/corbalar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton3" 
    android:layout_gravity="center_horizontal|top" 
    android:background="@drawable/zeytinyaglilar" 
    android:contentDescription="@string/zeytinyaglilar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton4" 
    android:layout_gravity="right|top" 
    android:background="@drawable/spesiyaller" 
    android:contentDescription="@string/spesiyaller" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton5" 
    android:layout_gravity="left|center_vertical" 
    android:background="@drawable/pideler" 
    android:contentDescription="@string/pideler" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton6" 
    android:layout_gravity="center" 
    android:background="@drawable/salatalar" 
    android:contentDescription="@string/salatalar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton7" 
    android:layout_gravity="right|center_vertical" 
    android:background="@drawable/kebaplar" 
    android:contentDescription="@string/kebaplar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton8" 
    android:layout_gravity="left|bottom" 
    android:background="@drawable/tatlilar" 
    android:contentDescription="@string/tatlilar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton9" 
    android:layout_gravity="center_horizontal|bottom" 
    android:background="@drawable/mesrubatlar" 
    android:contentDescription="@string/mesrubatlar" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

<ImageButton 
    android:layout_width="130dp" 
    android:layout_height="170dp" 
    android:id="@+id/imageButton10" 
    android:layout_gravity="right|bottom" 
    android:background="@drawable/sicakicecekler" 
    android:contentDescription="@string/sicakicecekler" 
    android:clickable="true" 
    android:onClick="degistirActivity"/> 

這是我將展示信息的地方。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="tr.edu.fatih.nad0.com.kilislimenu.fiyatGoster"> 


//my items image 
<ImageButton 
    android:layout_width="250dp" 
    android:layout_height="250dp" 
    android:id="@+id/imageButton11" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:contentDescription="@string/gosterilecekyemek" /> 




//my items price 
<TextView 
    android:layout_width="200dp" 
    android:layout_height="50dp" 
    android:id="@+id/textView" 
    android:layout_below="@+id/imageButton11" 
    android:layout_centerHorizontal="true" /> 

回答

0

什麼你會想要做的是使用與extrasintent傳遞單擊項目的信息活動。有幾種方法可以做到這一點:

1)手動爲每個項目創建一個OnClickListener(理想情況下,您將從SQLite數據庫生成項目,而不是使用靜態列表)。

使用的OnClickListener會是這個樣子:

ImageButton myButton = (ImageButton) findViewById(R.id.myButton); 
myButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent priceIntent = new Intent(getApplicationContext(), priceActivity.class); 
     priceIntent.putExtra("price",6.99); 
     priceIntent.putExtra("name","Hamburger"); 
     startActivity(priceIntent); 
    } 
}); 

然後在您的onCreate方法priceActivity.class,你會讀出的值是這樣的:

Bundle extras = getIntent().getExtras(); 
double price = extras.getDouble("price"); 
String name = extras.getString("name"); 

2)使用onClick屬性在你的XML中通過一個標識tag或其他的處理信息。

在您的XML中,您可以指定android:onClick="myMethod"以及識別標籤,如android:tag="hamburger"。然後,你會做你的myMethod

public void myMethod(View v) { 
    String tagId = v.getTag().toString(); 
    // Create intent with extras like above 
} 

再次,最好你會被加載從數據庫中所有的信息,讓您可以輕鬆地訪問使用較少的方法的信息,而不是手動輸入的硬編碼數據直接進入應用程序。

+0

非常感謝。 Intercalarily我想設置imagebutton背景。我怎樣才能做到這一點? –

0

你可以按照下面的鏈接來鍛鍊你的問題。

http://developer.android.com/training/basics/firstapp/starting-activity.html

另外,

你可以在你的按鈕實現這樣的方法。

public void sendMessage(View view) { 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    EditText editText = (EditText) findViewById(R.id.edit_message); 
    String message = editText.getText().toString(); 
    intent.putExtra(EXTRA_MESSAGE, message); 
} 

在另一項活動中,您可以接收Intent並顯示您的價格。

Intent intent = getIntent(); 
    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE); 

    // Create the text view 
    TextView textView = new TextView(this); 
    textView.setTextSize(40); 
    textView.setText(message); 

    // Set the text view as the activity layout 
    setContentView(textView); 
+0

非常感謝。 Intercalarily我想設置imagebutton背景。我怎樣才能做到這一點? –

+0

請點擊此鏈接.http://www.tutorialspoint.com/android/android_imagebutton_control.htm –