2015-07-03 79 views
0

我有一個問題,我正在創建一個有35個手機可供選擇的應用程序,每個手機都有一個單獨的按鈕,這將導致它自己的活動。每個這些活動將包含9個按鈕,這些按鈕也將導致9個單獨的活動。 問題是這意味着我將不得不創建35 x 9 = 315活動! 當然有辦法讓每個手機指向一個「動態」活動,它會根據所選手機自動更改其數據?如何讓多個按鈕指向一個'動態'活動?

我對電話進行的活動的一個代碼如下:

package com.hashmi.omar.store; 

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

public class AppleActivity extends Activity implements View.OnClickListener { 

Button buttonip6; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_apple); 

    //Sets font for text 
    Typeface vodaLt = Typeface.createFromAsset(getAssets(), "VODALT.TTF"); 
    TextView vodaHeading = (TextView) findViewById(R.id.textView); 
    vodaHeading.setTypeface(vodaLt); 

    //Sets up iphone 6 button 
    buttonip6 = (Button) findViewById(R.id.buttonip6); 
    buttonip6.setOnClickListener(this); 

} 

private void title_activity_iphone6() { 
    startActivity(new Intent(AppleActivity.this, Iphone6Activity.class)); 
} 


public void onClick(View v) { 
    switch (v.getId()){ 

      case R.id.buttonip6: 
       title_activity_iphone6(); 
       break; 
    } 
    } 
} 

下面是上述活動的XML佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="8dp" 
android:paddingRight="8dp" 
tools:context="com.hashmi.omar.store.Picker" 
android:background="#ffffffff" 
android:weightSum="1"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Select an iPhone" 
    android:id="@+id/textView" 
    android:textColor="#ffff0000" 
    android:textSize="31sp" 
    android:gravity="center" /> 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/scrollView" > 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="iPhone 6" 
      android:id="@+id/textView5" 
      android:textSize="24sp" 
      android:layout_gravity="center_horizontal" /> 

     <ImageView 
      android:layout_width="224dp" 
      android:layout_height="457dp" 
      android:id="@+id/imageView" 
      android:background="@drawable/iphone6_3" 
      android:layout_gravity="center_horizontal" 
      android:adjustViewBounds="true"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="FREE" 
      android:id="@+id/textView7" 
      android:textSize="18sp" 
      android:layout_weight="0.97" 
      android:layout_marginTop="5dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="on Pay monthly from £49" 
      android:id="@+id/textView71" 
      android:textSize="16sp" 
      android:layout_weight="0.97" /> 



     <Button 
      android:layout_width="120dp" 
      android:layout_height="35dp" 
      android:id="@+id/buttonip6" 
      android:background="@drawable/choosephonebutton" 
      android:layout_marginTop="10dp" 
      android:layout_gravity="bottom|center_horizontal" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="_____________________________" 
      android:id="@+id/textView6" 
      android:textSize="26sp" 
      android:layout_gravity="center_horizontal" /> 



     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="iPhone 6 Plus" 
      android:id="@+id/textView9" 
      android:textSize="24sp" 
      android:layout_gravity="center_horizontal" /> 

     <ImageView 
      android:layout_width="224dp" 
      android:layout_height="457dp" 
      android:id="@+id/imageView2" 
      android:background="@drawable/iphone6_3" 
      android:layout_gravity="center_horizontal" 
      android:adjustViewBounds="true"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="FROM £19" 
      android:id="@+id/textView8" 
      android:textSize="18sp" 
      android:layout_weight="0.97" 
      android:layout_marginTop="5dp"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="on Pay monthly from £54" 
      android:id="@+id/textView81" 
      android:textSize="16sp" 
      android:layout_weight="0.97" /> 

     <Button 
      android:layout_width="120dp" 
      android:layout_height="35dp" 
      android:id="@+id/buttonip62" 
      android:background="@drawable/choosephonebutton" 
      android:layout_marginTop="10dp" 
      android:layout_gravity="bottom|center_horizontal" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="_____________________________" 
      android:id="@+id/textView10" 
      android:textSize="26sp" 
      android:layout_gravity="center_horizontal" /> 



     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="iPhone 5S 16GB" 
      android:id="@+id/textView11" 
      android:textSize="24sp" 
      android:layout_gravity="center_horizontal" /> 

     <ImageView 
      android:layout_width="224dp" 
      android:layout_height="457dp" 
      android:id="@+id/imageView3" 
      android:background="@drawable/iphone5s" 
      android:layout_gravity="center_horizontal" 
      android:adjustViewBounds="true"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="FROM £9" 
      android:id="@+id/textView12" 
      android:textSize="18sp" 
      android:layout_weight="0.97" 
      android:layout_marginTop="5dp"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="on Pay monthly from £35" 
      android:id="@+id/textView121" 
      android:textSize="16sp" 
      android:layout_weight="0.97" /> 

     <Button 
      android:layout_width="120dp" 
      android:layout_height="35dp" 
      android:id="@+id/buttonip63" 
      android:background="@drawable/choosephonebutton" 
      android:layout_marginTop="10dp" 
      android:layout_gravity="bottom|center_horizontal" /> 



     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="_____________________________" 
      android:id="@+id/textView13" 
      android:textSize="26sp" 
      android:layout_gravity="center_horizontal" /> 



     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="iPhone 5C 8GB" 
      android:id="@+id/textView14" 
      android:textSize="24sp" 
      android:layout_gravity="center_horizontal" /> 

     <ImageView 
      android:layout_width="224dp" 
      android:layout_height="457dp" 
      android:id="@+id/imageView4" 
      android:background="@drawable/iphone5c" 
      android:layout_gravity="center_horizontal" 
      android:adjustViewBounds="true"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="FREE" 
      android:id="@+id/textView15" 
      android:textSize="18sp" 
      android:layout_weight="0.97" 
      android:layout_marginTop="5dp"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="on Pay monthly from £30" 
      android:id="@+id/textView151" 
      android:textSize="16sp" 
      android:layout_weight="0.97" /> 

     <Button 
      android:layout_width="120dp" 
      android:layout_height="35dp" 
      android:id="@+id/buttonip64" 
      android:background="@drawable/choosephonebutton" 
      android:layout_marginTop="10dp" 
      android:layout_gravity="bottom|center_horizontal" /> 


    </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

回答

0

如果不需要的話,不產生新活動,使用片段。另外,在創建新片段時,您可以在構造函數中添加參數,這將自定義您的小部件。

0

如果意見的結構是每一個手機一樣,你只能創建3種不同的活動,並與相應的數據填充它們。
要做到這一點,在第一項活動中選擇手機時,請將所選手機的ID添加到意圖中。
然後在下一個活動中,閱讀額外的內容,然後從中決定要顯示的內容。
同爲第三個活動,

+0

我是新到Android,所以大多數的這正好在我的頭上。你的意思 私人無效title_activity_iphone6(){ startActivity(新意圖(AppleActivity.this,Iphone6Activity.class)); } 公共無效的onClick(視圖v){ 開關(v.getId()){ 情況R.id.buttonip6: title_activity_iphone6(); 休息; }} 確實iphone6這裏需要有一個ID? – howzat

相關問題