2015-07-03 89 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

相关问题