我有一个问题,我正在创建一个有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)
如果不需要,请不要创建新活动,使用片段。此外,在创建新片段时,您可以在构造函数中添加参数,这将自定义您的小部件。
答案 1 :(得分:0)
如果每个手机的视图结构相同,您只能创建3个不同的活动,并用适当的数据填充它们。
要做到这一点,在第一个活动中选择一个电话时,在意图上添加所选电话的ID
然后在下一个活动中,阅读额外的内容,并从那里决定要显示什么
第三项活动相同,