diff --git a/Test1/app/src/main/AndroidManifest.xml b/Test1/app/src/main/AndroidManifest.xml index a5bd0eb..25f2fad 100644 --- a/Test1/app/src/main/AndroidManifest.xml +++ b/Test1/app/src/main/AndroidManifest.xml @@ -12,16 +12,31 @@ android:theme="@style/Theme.Test1" tools:targetApi="31"> + + + + + diff --git a/Test1/app/src/main/java/com/example/test1/Activity/BandActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/BandActivity.java new file mode 100644 index 0000000..e241547 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Activity/BandActivity.java @@ -0,0 +1,180 @@ +package com.example.test1.Activity; + +import android.annotation.SuppressLint; +import android.app.Fragment; +import android.app.FragmentManager; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentTransaction; + +import com.example.test1.Fragment.RightFragment; +import com.example.test1.R; +import com.example.test1.entity.BrandBean; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class BandActivity extends AppCompatActivity { +private FragmentManager fragmentManager; +private FragmentTransaction fragmentTransaction; +private Fragment leftFragment; +private RightFragment rightFragment; +private TextView tv_LV,tv_Prada,tv_Hermers,tv_Miumiu; +private TextView btn; + private String[]names1={"LV爆款包包","LV经典包包","LV特色包包","LV家喻户晓款","LV人手一只款","LV值得收藏款","LV新款包包"}; + private String[]sales1={"月售520 好评度80%","月售520 好评度80%","月售520 好评度80%","月售520 好评度80%","月售520 好评度80%","月售520 好评度80%","月售520 好评度80%"}; + private String[]prices1={"$23","$41","$32","$23","$41","$32","$23"}; + private int []imgs1={R.drawable.lv1,R.drawable.lv2,R.drawable.lv3,R.drawable.lv4,R.drawable.lv5,R.drawable.lv6,R.drawable.lv7,}; + + + private String[]names2={"Hermes经典包包","Hermes新款包包"}; + private String[]sales2={"月售520 好评度80%","月售520 好评度80%"}; + private String[]prices2={"$23","$41"}; + private int []imgs2={R.drawable.hermes1,R.drawable.hermes2}; + + private String[]names3={"miumiu特色包包"}; + private String[]sales3={"月售520 好评度80%"}; + private String[]prices3={"$23"}; + private int []imgs3={R.drawable.miumiu1}; + + private String[]names4={"Prada特色包包","Prada经典包包","Prada新款包包","Prada贵妇包包"}; + private String[]sales4={"月售520 好评度80%","月售520 好评度80%","月售520 好评度80%","月售520 好评度80%"}; + private String[]prices4={"$23","$41","$32","$32"}; + private int []imgs4={R.drawable.prada1,R.drawable.prada2,R.drawable.prada3,R.drawable.prada4}; + + private Map>map; + + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.band_main); + btn=findViewById(R.id.tv_business); + btn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent=new Intent(BandActivity.this,IntroductionActivity.class); + startActivity(intent); + } + }); + setData(); + init(); + clickEvent(); + } + private void init(){ + + fragmentManager = getFragmentManager(); + + leftFragment=fragmentManager.findFragmentById(R.id.left); + tv_LV=findViewById(R.id.tv_LV); + + tv_Prada=findViewById(R.id.tv_Prada); + + tv_Miumiu=findViewById(R.id.tv_miumiu); + + tv_Hermers=findViewById(R.id.tv_Hermers); + + } + private void setData(){ + map=new HashMap<>(); + Listlist1=new ArrayList<>(); + Listlist2=new ArrayList<>(); + Listlist3=new ArrayList<>(); + Listlist4=new ArrayList<>(); + for(int i=0;i list){ + + fragmentManager=getFragmentManager(); + + fragmentTransaction=getSupportFragmentManager().beginTransaction(); + + rightFragment=new RightFragment().getInstance(list); + + fragmentTransaction.replace(R.id.right,rightFragment); + + fragmentTransaction.commit(); + + } + + } + + diff --git a/Test1/app/src/main/java/com/example/test1/Activity/CategoryActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/CategoryActivity.java new file mode 100644 index 0000000..c9b6e29 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Activity/CategoryActivity.java @@ -0,0 +1,90 @@ +package com.example.test1.Activity; + +import android.app.Activity; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.os.Bundle; +import android.widget.ListView; + +import androidx.annotation.Nullable; + +import com.example.test1.Fragment.SetDetailFragment; +import com.example.test1.R; +import com.example.test1.adapter.Adapter; +import com.example.test1.entity.Product; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + + +public class CategoryActivity extends Activity { + public OnChangeListener onchangedListener; + private List productList; + private List productCategory = new ArrayList<>(); + private ListView titleList; + private Adapter adapter; + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.content_category); + initData(); + init(); + SetDetailFragment fragment = new SetDetailFragment(); + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction transaction = fragmentManager.beginTransaction(); + transaction.replace(R.id.category_detail, fragment); + transaction.commit(); + titleList.setOnItemClickListener((parent, view, position, id) -> { + adapter.setSelectedPosition(position); + adapter.notifyDataSetInvalidated(); + if (onchangedListener != null) { + onchangedListener.changeText(productList.get(position)); + } + }); + + } + + public void setOnChangeListener(OnChangeListener onChangeListener) { + this.onchangedListener = onChangeListener; + } + + public interface OnChangeListener { + void changeText(Product product); + } + + /** + * 初始化数据 + */ + private void initData() { + productList = new ArrayList<>(); + productCategory.add("LV"); + productCategory.add("Prada"); + productCategory.add("Hermas"); + Product product = new Product(); + product.setImageUrlId(R.drawable.lv2); + product.setProductName("lv春季新款"); + product.setProductPrice(new BigDecimal("18999")); + Product product1 = new Product(); + product1.setImageUrlId(R.drawable.prada1); + product1.setProductName("Prada"); + product1.setProductPrice(new BigDecimal("18999")); + Product product2 = new Product(); + product2.setImageUrlId(R.drawable.hermes1); + product2.setProductName("Hermas"); + product2.setProductPrice(new BigDecimal("18999")); + productList.add(product); + productList.add(product1); + productList.add(product2); + } + + /** + * 初始化组件 + */ + private void init() { + titleList = findViewById(R.id.category_title_list); + adapter = new Adapter(productCategory, CategoryActivity.this); + titleList.setAdapter(adapter); + } +} \ No newline at end of file diff --git a/Test1/app/src/main/java/com/example/test1/Activity/IntroductionActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/IntroductionActivity.java new file mode 100644 index 0000000..26c11b2 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Activity/IntroductionActivity.java @@ -0,0 +1,99 @@ +package com.example.test1.Activity; + +import static com.example.test1.R.id.btn_Buy; +import static com.example.test1.R.id.tv_Logo; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.example.test1.R; +import com.example.test1.adapter.MyAdapter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class IntroductionActivity extends AppCompatActivity implements AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener{ + private List> data; +private TextView btn,btn1; + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_introductionhead); + btn=findViewById(btn_Buy); + btn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent=new Intent(IntroductionActivity.this, BandActivity.class); + startActivity(intent); + } + }); + + ListView listView = this.findViewById(R.id.list_main); + + //准备数据源(List) + initData(); + + //创建自定义适配器 + MyAdapter adapter = new MyAdapter(this); + adapter.setList(data); + + + listView.setAdapter(adapter); + + listView.setOnItemClickListener(this); + listView.setOnItemLongClickListener(this); + + } + + private void initData() { + data = new ArrayList>(); + Map map = new HashMap(); + map.put("icon",R.drawable.lvintroduction); + map.put("title","LV"); + map.put("content","路易威登(Louis Vuitton),法国奢侈品品牌,隶属于酩悦·轩尼诗-路易·威登集团,经营产品包括手提包,旅行用品,小型皮具,配饰,鞋履,成衣,腕表,高级珠宝及个性化订制服务等。"); + data.add(map); + + map = new HashMap(); + map.put("icon",R.drawable.hermersintroduction); + map.put("title","hermers"); + map.put("content","爱马仕(Hermès)是法国奢侈品品牌,由蒂埃利·爱马仕(Thierry Hermès)于1837年在法国巴黎创立。 [1] 拥有皮具和马具、女士丝制品、男士丝制品、女士成衣、男士成衣、鞋履、腰带、帽子、手套、珠宝、钟表、香水、美妆、家具和生活艺术、餐瓷、petit h十六大工艺部门。 [41] "); + data.add(map); + + map = new HashMap(); + map.put("icon",R.drawable.miumiuintroduction); + map.put("title","miumiu"); + map.put("content","Miu Miu是Miuccia Prada于1992年创立的品牌。 [6] \n" + + "Miu Miu率性且充满实验风格,与Prada是同一设计理念的另一种表达方式,注重优雅精致且不乏趣味,将女性气质发挥到极致。通过成衣、皮具、眼镜、具备突破意义的广告大片,及有独特视角的女人的故事短片系列,使品牌呈现了现代女性的多面特质。"); + data.add(map); + + map = new HashMap(); + map.put("icon",R.drawable.pradaintroduction); + map.put("title","prada"); + map.put("content","普拉达(PRADA)是意大利奢侈品牌,由玛丽奥·普拉达于1913年在意大利米兰创建。缪西娅·普拉达(Miuccia Prada)的独特天赋在于对新创意的不懈追求,融合了对知识的好奇心和文化兴趣,从而开辟了先驱之路。她不仅能够预测时尚趋势,更能够引领时尚潮流。 [5] "); + data.add(map); + + } + + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + Toast.makeText(this,"点击item"+i,Toast.LENGTH_SHORT).show(); + } + + @Override + public boolean onItemLongClick(AdapterView adapterView, View view, int i, long l) { + Toast.makeText(this,"长按item"+i,Toast.LENGTH_SHORT).show(); + return true;//事件流机制 + } + +} diff --git a/Test1/app/src/main/java/com/example/test1/MainActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java similarity index 92% rename from Test1/app/src/main/java/com/example/test1/MainActivity.java rename to Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java index 3d258e0..5606191 100644 --- a/Test1/app/src/main/java/com/example/test1/MainActivity.java +++ b/Test1/app/src/main/java/com/example/test1/Activity/MainActivity.java @@ -1,4 +1,4 @@ -package com.example.test1; +package com.example.test1.Activity; import androidx.appcompat.app.AppCompatActivity; @@ -9,7 +9,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.Toast; -import com.example.test1.registerActivity; +import com.example.test1.R; public class MainActivity extends AppCompatActivity { Button register; @@ -54,7 +54,7 @@ public class MainActivity extends AppCompatActivity { */ public void validateRegister() { - Intent intent = new Intent(MainActivity.this, adapterActivity.class); + Intent intent = new Intent(MainActivity.this, CategoryActivity.class); String username = usernameEdit.getText().toString(); String password = passwordEdit.getText().toString(); //这里也可以再进行其它的验证,如是否符合要求等,符合就进行下一个界面操作 diff --git a/Test1/app/src/main/java/com/example/test1/adapterActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/adapterActivity.java similarity index 93% rename from Test1/app/src/main/java/com/example/test1/adapterActivity.java rename to Test1/app/src/main/java/com/example/test1/Activity/adapterActivity.java index 0cdddf9..7d68b5d 100644 --- a/Test1/app/src/main/java/com/example/test1/adapterActivity.java +++ b/Test1/app/src/main/java/com/example/test1/Activity/adapterActivity.java @@ -1,4 +1,4 @@ -package com.example.test1; +package com.example.test1.Activity; import android.content.Intent; import android.os.Bundle; @@ -10,6 +10,8 @@ import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import com.example.test1.R; + public class adapterActivity extends AppCompatActivity { @Override diff --git a/Test1/app/src/main/java/com/example/test1/registerActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java similarity index 98% rename from Test1/app/src/main/java/com/example/test1/registerActivity.java rename to Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java index 6e8aef6..4f2980f 100644 --- a/Test1/app/src/main/java/com/example/test1/registerActivity.java +++ b/Test1/app/src/main/java/com/example/test1/Activity/registerActivity.java @@ -1,4 +1,4 @@ -package com.example.test1; +package com.example.test1.Activity; import android.content.Intent; import android.graphics.Color; @@ -13,6 +13,7 @@ import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import com.example.test1.R; import com.lljjcoder.citypickerview.widget.CityPicker; public class registerActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener { diff --git a/Test1/app/src/main/java/com/example/test1/userActivity.java b/Test1/app/src/main/java/com/example/test1/Activity/userActivity.java similarity index 75% rename from Test1/app/src/main/java/com/example/test1/userActivity.java rename to Test1/app/src/main/java/com/example/test1/Activity/userActivity.java index fa8a85e..cb07934 100644 --- a/Test1/app/src/main/java/com/example/test1/userActivity.java +++ b/Test1/app/src/main/java/com/example/test1/Activity/userActivity.java @@ -1,20 +1,23 @@ -package com.example.test1; +package com.example.test1.Activity; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; -import android.app.Activity; import android.view.View; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.Nullable; +import com.example.test1.R; + public class userActivity extends AppCompatActivity { private ImageView userSexline, userCityLine, userPayLine, userSettingLine, userGeneralLine, usernameLine, userIconImage; private TextView userCityText, userSexText, usernameText; + private LinearLayout userSearchProductLine; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -36,6 +39,8 @@ public class userActivity extends AppCompatActivity { userPayLine = findViewById(R.id.user_pay); userSettingLine = findViewById(R.id.user_setting); userGeneralLine = findViewById(R.id.user_general); + userSearchProductLine = findViewById(R.id.user_searchProduct); + userSearchProductLine.setOnClickListener(this::onClick1); setData(); } @@ -58,8 +63,18 @@ public class userActivity extends AppCompatActivity { switch (v.getId()) { case R.id.back: break; - } } + public void onClick1(View v) { + Intent intent = new Intent(userActivity.this, MainActivity.class); + startActivity(intent); + switch (v.getId()) { + case R.id.user_searchProduct: + Intent intent1 = new Intent(userActivity.this, IntroductionActivity.class); + startActivity(intent1); + break; + } + + } } \ No newline at end of file diff --git a/Test1/app/src/main/java/com/example/test1/Fragment/LeftFragment.java b/Test1/app/src/main/java/com/example/test1/Fragment/LeftFragment.java new file mode 100644 index 0000000..a37cf4d --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Fragment/LeftFragment.java @@ -0,0 +1,33 @@ +package com.example.test1.Fragment; + + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.fragment.app.Fragment; + +import com.example.test1.R; + +public class LeftFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + + View view= inflater.inflate(R.layout.fragment_left, container, false); + return view; + } +public void onPause(){ + + super.onPause(); +} +} diff --git a/Test1/app/src/main/java/com/example/test1/Fragment/RightFragment.java b/Test1/app/src/main/java/com/example/test1/Fragment/RightFragment.java new file mode 100644 index 0000000..f1e167c --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Fragment/RightFragment.java @@ -0,0 +1,65 @@ +package com.example.test1.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ListView; + +import androidx.fragment.app.Fragment; + +import com.example.test1.R; +import com.example.test1.adapter.RightAdapter; +import com.example.test1.entity.BrandBean; + +import java.io.Serializable; +import java.util.List; + + +public class RightFragment extends Fragment { + +private ListView lv_list; + /* public RightFragment(FragmentActivity activity, List list) { + // Required empty public constructor + }*/ + + public RightFragment() { + + } + + public RightFragment getInstance(Listlist){ + RightFragment rightFragment=new RightFragment(); + + + Bundle bundle=new Bundle(); + bundle.putSerializable("list",(Serializable) list); + rightFragment.setArguments(bundle); + return rightFragment; +} + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view=inflater.inflate(R.layout.fragment_right, container, false); + + lv_list=view.findViewById(R.id.lv_list); + if(getArguments()!=null){ + + Listlist=(List) getArguments().getSerializable("list"); + RightAdapter adapter=new RightAdapter(getActivity(),list); + lv_list.setAdapter( adapter); + + } + return view; + } + + + + +} diff --git a/Test1/app/src/main/java/com/example/test1/Fragment/SetDetailFragment.java b/Test1/app/src/main/java/com/example/test1/Fragment/SetDetailFragment.java new file mode 100644 index 0000000..eb81948 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/Fragment/SetDetailFragment.java @@ -0,0 +1,53 @@ +package com.example.test1.Fragment; + +import android.annotation.SuppressLint; +import android.app.Fragment; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.example.test1.Activity.CategoryActivity; +import com.example.test1.R; + +import java.util.Objects; + +public class SetDetailFragment extends Fragment { + private View view; + private ImageView imageView; + private TextView nameText, priceText; + + @SuppressLint("SetTextI18n") + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + view = inflater.inflate(R.layout.category_detail_content,container, false); + if (view != null) { + init(); + } + CategoryActivity categoryActivity = (CategoryActivity) getActivity(); + Objects.requireNonNull(categoryActivity).setOnChangeListener(product -> { + Log.i("sss", "onCreateView: " + product.getProductName()); + imageView.setBackgroundResource(product.getImageUrlId()); + nameText.setText(product.getProductName()); + priceText.setText(product.getProductPrice().toString()); + }); + return view; + } + + /** + * 内容组件初始化 + */ + private void init() { + imageView = view.findViewById(R.id.category_product_image); + nameText = view.findViewById(R.id.category_product_name); + priceText = view.findViewById(R.id.category_product_price); + } + +} diff --git a/Test1/app/src/main/java/com/example/test1/adapter/Adapter.java b/Test1/app/src/main/java/com/example/test1/adapter/Adapter.java new file mode 100644 index 0000000..cee7ca7 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/adapter/Adapter.java @@ -0,0 +1,69 @@ +package com.example.test1.adapter; + +import android.content.Context; +import android.graphics.Color; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.example.test1.R; + +import java.util.List; + +public class Adapter extends BaseAdapter { + private List productCategory; + private LayoutInflater layoutInflater; + private int selectionPosition = -1; + + public Adapter(List productCategory, Context context) { + this.productCategory = productCategory; + this.layoutInflater = LayoutInflater.from(context); + } + + @Override + public int getCount() { + return productCategory.size(); + } + + @Override + public Object getItem(int position) { + return productCategory.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder viewHolder = null; + if (convertView == null) { + viewHolder = new ViewHolder(); + convertView = layoutInflater.inflate(R.layout.category_list_item, null); + Log.i("adapts", "getView: " + convertView); + viewHolder.tv = convertView.findViewById(R.id.categor_titles); + convertView.setTag(viewHolder); + } else { + viewHolder = (ViewHolder) convertView.getTag(); + } + viewHolder.tv.setText(productCategory.get(position)); + if (selectionPosition == position) { + viewHolder.tv.setBackgroundColor(Color.YELLOW); + } else { + viewHolder.tv.setBackgroundColor(Color.WHITE); + } + return convertView; + } + + public void setSelectedPosition(int position) { + this.selectionPosition = position; + } + + class ViewHolder { + TextView tv; + } +} diff --git a/Test1/app/src/main/java/com/example/test1/adapter/MyAdapter.java b/Test1/app/src/main/java/com/example/test1/adapter/MyAdapter.java new file mode 100644 index 0000000..45f6cf6 --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/adapter/MyAdapter.java @@ -0,0 +1,78 @@ +package com.example.test1.adapter; + + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.test1.R; + +import java.util.List; +import java.util.Map; + +public class MyAdapter extends BaseAdapter { + private List> list; + private LayoutInflater inflater;//反射器 + + public MyAdapter(Context context) { + this.inflater = LayoutInflater.from(context); + } + + public void setList(List> list) { + this.list = list; + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + // View view1 = inflater.inflate(R.layout.layout_item,null); + ViewHolder holder = null; + + if(view == null){ + view = inflater.inflate(R.layout.introduction_item,null); + holder = new ViewHolder(); + holder.icon = view.findViewById(R.id.icon); + holder.title = view.findViewById(R.id.title); + holder.content = view.findViewById(R.id.content); + view.setTag(holder); + }else { + holder = (ViewHolder) view.getTag(); + } + + //获得行布局的各个控件 + // ImageView icon = view.findViewById(R.id.icon); + // TextView title = view.findViewById(R.id.title); + // TextView content = view.findViewById(R.id.content); + + //给各个控件赋值 + holder.icon.setImageResource((Integer) list.get(i).get("icon")); + holder.title.setText((String) list.get(i).get("title")); + holder.content.setText((String) list.get(i).get("content")); + + return view; + } + + public class ViewHolder{ + ImageView icon; + TextView title; + TextView content; + } +} diff --git a/Test1/app/src/main/java/com/example/test1/entity/MyBaseAdapter.java b/Test1/app/src/main/java/com/example/test1/adapter/MyBaseAdapter.java similarity index 93% rename from Test1/app/src/main/java/com/example/test1/entity/MyBaseAdapter.java rename to Test1/app/src/main/java/com/example/test1/adapter/MyBaseAdapter.java index bcaa333..eeb6bcd 100644 --- a/Test1/app/src/main/java/com/example/test1/entity/MyBaseAdapter.java +++ b/Test1/app/src/main/java/com/example/test1/adapter/MyBaseAdapter.java @@ -1,4 +1,4 @@ -package com.example.test1.entity; +package com.example.test1.adapter; import android.view.View; import android.view.ViewGroup; diff --git a/Test1/app/src/main/java/com/example/test1/adapter/RightAdapter.java b/Test1/app/src/main/java/com/example/test1/adapter/RightAdapter.java new file mode 100644 index 0000000..37cda3a --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/adapter/RightAdapter.java @@ -0,0 +1,62 @@ +package com.example.test1.adapter; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.test1.R; +import com.example.test1.entity.BrandBean; + +import java.util.List; + +public class RightAdapter extends BaseAdapter { + private Context mContext; + private Listlist; + public RightAdapter(Context context , Listlist){ + this.mContext=context; + this.list=list; + } + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int position) { + return list.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder=null; + if(convertView==null){ + convertView=View.inflate(mContext, R.layout.sale_item,null); + holder= new ViewHolder(); + holder.tv_name=convertView.findViewById(R.id.tv_name); + holder.tv_sale=convertView.findViewById(R.id.tv_sale); + holder.tv_price=convertView.findViewById(R.id.tv_price); + holder.iv_img=convertView.findViewById(R.id.iv_img); + convertView.setTag(holder); + }else { + holder=(ViewHolder) convertView.getTag(); + } + BrandBean bean=list.get(position); + holder.tv_name.setText(bean.getName()); + holder.tv_sale.setText(bean.getSales()); + holder.tv_price.setText(bean.getPrice()); + holder.iv_img.setBackgroundResource(bean.getImg()); + return convertView; + } + class ViewHolder{ + TextView tv_name,tv_sale,tv_price; + ImageView iv_img; + } +} diff --git a/Test1/app/src/main/java/com/example/test1/entity/BrandBean.java b/Test1/app/src/main/java/com/example/test1/entity/BrandBean.java new file mode 100644 index 0000000..61ebfbe --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/entity/BrandBean.java @@ -0,0 +1,43 @@ +package com.example.test1.entity; + +import java.io.Serializable; + +public class BrandBean implements Serializable { + private static final long serialVersionUID=2L; + private String name; + private String sales; + private String price; + private int img; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSales() { + return sales; + } + + public void setSales(String sales) { + this.sales = sales; + } + + public String getPrice() { + return price; + } + + public void setPrice(String price) { + this.price = price; + } + + public int getImg() { + return img; + } + + public void setImg(int img) { + this.img = img; + } +} diff --git a/Test1/app/src/main/java/com/example/test1/entity/Product.java b/Test1/app/src/main/java/com/example/test1/entity/Product.java new file mode 100644 index 0000000..98103ab --- /dev/null +++ b/Test1/app/src/main/java/com/example/test1/entity/Product.java @@ -0,0 +1,34 @@ +package com.example.test1.entity; + +import java.math.BigDecimal; + +public class Product { + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public BigDecimal getProductPrice() { + return productPrice; + } + + public void setProductPrice(BigDecimal productPrice) { + this.productPrice = productPrice; + } + + public Integer getImageUrlId() { + return imageUrlId; + } + + public void setImageUrlId(Integer imageUrlId) { + this.imageUrlId = imageUrlId; + } + + private Integer imageUrlId; + private String productName; + private BigDecimal productPrice; +} diff --git a/Test1/app/src/main/res/drawable/cat.jpg b/Test1/app/src/main/res/drawable/cat.jpg new file mode 100644 index 0000000..376d356 Binary files /dev/null and b/Test1/app/src/main/res/drawable/cat.jpg differ diff --git a/Test1/app/src/main/res/drawable/hermersintroduction.webp b/Test1/app/src/main/res/drawable/hermersintroduction.webp new file mode 100644 index 0000000..69ae80c Binary files /dev/null and b/Test1/app/src/main/res/drawable/hermersintroduction.webp differ diff --git a/Test1/app/src/main/res/drawable/hermes1.png b/Test1/app/src/main/res/drawable/hermes1.png new file mode 100644 index 0000000..aed68e7 Binary files /dev/null and b/Test1/app/src/main/res/drawable/hermes1.png differ diff --git a/Test1/app/src/main/res/drawable/hermes2.webp b/Test1/app/src/main/res/drawable/hermes2.webp new file mode 100644 index 0000000..8b38ba6 Binary files /dev/null and b/Test1/app/src/main/res/drawable/hermes2.webp differ diff --git a/Test1/app/src/main/res/drawable/lv1.png b/Test1/app/src/main/res/drawable/lv1.png new file mode 100644 index 0000000..6e9819c Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv1.png differ diff --git a/Test1/app/src/main/res/drawable/lv2.png b/Test1/app/src/main/res/drawable/lv2.png new file mode 100644 index 0000000..8e10129 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv2.png differ diff --git a/Test1/app/src/main/res/drawable/lv3.png b/Test1/app/src/main/res/drawable/lv3.png new file mode 100644 index 0000000..30a203f Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv3.png differ diff --git a/Test1/app/src/main/res/drawable/lv4.webp b/Test1/app/src/main/res/drawable/lv4.webp new file mode 100644 index 0000000..6bc7fe0 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv4.webp differ diff --git a/Test1/app/src/main/res/drawable/lv5.webp b/Test1/app/src/main/res/drawable/lv5.webp new file mode 100644 index 0000000..5d38518 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv5.webp differ diff --git a/Test1/app/src/main/res/drawable/lv6.webp b/Test1/app/src/main/res/drawable/lv6.webp new file mode 100644 index 0000000..c1e5282 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv6.webp differ diff --git a/Test1/app/src/main/res/drawable/lv7.webp b/Test1/app/src/main/res/drawable/lv7.webp new file mode 100644 index 0000000..b9fa819 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lv7.webp differ diff --git a/Test1/app/src/main/res/drawable/lvintroduction.jpg b/Test1/app/src/main/res/drawable/lvintroduction.jpg new file mode 100644 index 0000000..68b68b9 Binary files /dev/null and b/Test1/app/src/main/res/drawable/lvintroduction.jpg differ diff --git a/Test1/app/src/main/res/drawable/miumiu1.png b/Test1/app/src/main/res/drawable/miumiu1.png new file mode 100644 index 0000000..02b59d0 Binary files /dev/null and b/Test1/app/src/main/res/drawable/miumiu1.png differ diff --git a/Test1/app/src/main/res/drawable/miumiuintroduction.webp b/Test1/app/src/main/res/drawable/miumiuintroduction.webp new file mode 100644 index 0000000..fc3d01a Binary files /dev/null and b/Test1/app/src/main/res/drawable/miumiuintroduction.webp differ diff --git a/Test1/app/src/main/res/drawable/prada1.png b/Test1/app/src/main/res/drawable/prada1.png new file mode 100644 index 0000000..c770d57 Binary files /dev/null and b/Test1/app/src/main/res/drawable/prada1.png differ diff --git a/Test1/app/src/main/res/drawable/prada2.png b/Test1/app/src/main/res/drawable/prada2.png new file mode 100644 index 0000000..3a86b43 Binary files /dev/null and b/Test1/app/src/main/res/drawable/prada2.png differ diff --git a/Test1/app/src/main/res/drawable/prada3.png b/Test1/app/src/main/res/drawable/prada3.png new file mode 100644 index 0000000..a6f9aab Binary files /dev/null and b/Test1/app/src/main/res/drawable/prada3.png differ diff --git a/Test1/app/src/main/res/drawable/prada4.png b/Test1/app/src/main/res/drawable/prada4.png new file mode 100644 index 0000000..803f479 Binary files /dev/null and b/Test1/app/src/main/res/drawable/prada4.png differ diff --git a/Test1/app/src/main/res/drawable/pradaintroduction.webp b/Test1/app/src/main/res/drawable/pradaintroduction.webp new file mode 100644 index 0000000..81edbce Binary files /dev/null and b/Test1/app/src/main/res/drawable/pradaintroduction.webp differ diff --git a/Test1/app/src/main/res/drawable/search.png b/Test1/app/src/main/res/drawable/search.png new file mode 100644 index 0000000..7c585fc Binary files /dev/null and b/Test1/app/src/main/res/drawable/search.png differ diff --git a/Test1/app/src/main/res/drawable/zuo.png b/Test1/app/src/main/res/drawable/zuo.png new file mode 100644 index 0000000..2684815 Binary files /dev/null and b/Test1/app/src/main/res/drawable/zuo.png differ diff --git a/Test1/app/src/main/res/layout/activity_introductionhead.xml b/Test1/app/src/main/res/layout/activity_introductionhead.xml new file mode 100644 index 0000000..dcec9b5 --- /dev/null +++ b/Test1/app/src/main/res/layout/activity_introductionhead.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/activity_main.xml b/Test1/app/src/main/res/layout/activity_main.xml index 3017acd..5b931be 100644 --- a/Test1/app/src/main/res/layout/activity_main.xml +++ b/Test1/app/src/main/res/layout/activity_main.xml @@ -6,7 +6,7 @@ android:gravity="center_horizontal" android:orientation="vertical" android:background="@color/bluepurple" - tools:context=".MainActivity"> + tools:context=".Activity.MainActivity"> diff --git a/Test1/app/src/main/res/layout/band_main.xml b/Test1/app/src/main/res/layout/band_main.xml new file mode 100644 index 0000000..6ff3023 --- /dev/null +++ b/Test1/app/src/main/res/layout/band_main.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/category_detail.xml b/Test1/app/src/main/res/layout/category_detail.xml new file mode 100644 index 0000000..476b522 --- /dev/null +++ b/Test1/app/src/main/res/layout/category_detail.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/category_detail_content.xml b/Test1/app/src/main/res/layout/category_detail_content.xml new file mode 100644 index 0000000..a46be2c --- /dev/null +++ b/Test1/app/src/main/res/layout/category_detail_content.xml @@ -0,0 +1,31 @@ + + + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/category_list_item.xml b/Test1/app/src/main/res/layout/category_list_item.xml new file mode 100644 index 0000000..2187312 --- /dev/null +++ b/Test1/app/src/main/res/layout/category_list_item.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/content_category.xml b/Test1/app/src/main/res/layout/content_category.xml new file mode 100644 index 0000000..c9f40cc --- /dev/null +++ b/Test1/app/src/main/res/layout/content_category.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/fragment_left.xml b/Test1/app/src/main/res/layout/fragment_left.xml new file mode 100644 index 0000000..cdada6c --- /dev/null +++ b/Test1/app/src/main/res/layout/fragment_left.xml @@ -0,0 +1,47 @@ + + + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/fragment_right.xml b/Test1/app/src/main/res/layout/fragment_right.xml new file mode 100644 index 0000000..d5c027a --- /dev/null +++ b/Test1/app/src/main/res/layout/fragment_right.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/Test1/app/src/main/res/layout/introduction_item.xml b/Test1/app/src/main/res/layout/introduction_item.xml new file mode 100644 index 0000000..b79953a --- /dev/null +++ b/Test1/app/src/main/res/layout/introduction_item.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Test1/app/src/main/res/layout/list_item_layout.xml b/Test1/app/src/main/res/layout/list_item_layout.xml deleted file mode 100644 index 87c768f..0000000 --- a/Test1/app/src/main/res/layout/list_item_layout.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -