@ -1 +0,0 @@
|
||||
Mysoft
|
@ -1,116 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<codeStyleSettings language="XML">
|
||||
<indentOptions>
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||
</indentOptions>
|
||||
<arrangement>
|
||||
<rules>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:android</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:id</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>style</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
</rules>
|
||||
</arrangement>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
@ -1,33 +0,0 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
buildToolsVersion "33.0.2"
|
||||
defaultConfig {
|
||||
applicationId "com.example.mysoft"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'androidx.appcompat:appcompat:1.0.2'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
|
||||
implementation 'liji.library.dev:citypickerview:1.1.0'
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package com.example.mysoft;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.example.mysoft.activity.RegisterActivity;
|
||||
|
||||
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
|
||||
private Button registerButton, loginButton;
|
||||
private EditText usernameText, paswdEdit;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.user_login);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
usernameText = findViewById(R.id.username);
|
||||
paswdEdit = findViewById(R.id.password);
|
||||
loginButton = findViewById(R.id.login);
|
||||
loginButton.setOnClickListener(this);
|
||||
registerButton = findViewById(R.id.register);
|
||||
registerButton.setOnClickListener(this);
|
||||
}
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.register:
|
||||
Intent intent = new Intent(MainActivity.this, RegisterActivity.class);
|
||||
startActivity(intent);
|
||||
break;
|
||||
case R.id.login:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// //对话框的使用
|
||||
// Button button=(Button)findViewById(R.id.fpassword);
|
||||
// button.setOnClickListener(new View.OnClickListener(){
|
||||
// @Override
|
||||
// public void onClick(View view){
|
||||
// new AlertDialog.Builder(MainActivity.this).setTitle("系统提示")
|
||||
// .setMessage("忘记密码!")
|
||||
// .setPositiveButton("确定", new DialogInterface.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(DialogInterface dialog, int which) {
|
||||
// finish();
|
||||
// }
|
||||
// }).setNegativeButton("返回", new DialogInterface.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(DialogInterface dialog, int which) {
|
||||
//
|
||||
// }
|
||||
// }).show();
|
||||
// }
|
||||
// });
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
package com.example.mysoft.activity;
|
||||
import android.app.Activity;
|
||||
import android.app.FragmentManager;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.example.mysoft.R;
|
||||
import com.example.mysoft.adapter.Adapter;
|
||||
import com.example.mysoft.entity.Product;
|
||||
import com.example.mysoft.fragment.SetDetailFragment;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CategoryActivity extends Activity {
|
||||
public OnChangeListener onchangedListener;
|
||||
private List<Product> productList;
|
||||
private List<String> 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(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
adapter.setSelectedPosition(position);
|
||||
adapter.notifyDataSetInvalidated();
|
||||
if (onchangedListener != null) {
|
||||
onchangedListener.changeText(productList.get(position));
|
||||
}
|
||||
}
|
||||
});
|
||||
/* 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("钟离");
|
||||
productCategory.add("胡桃");
|
||||
productCategory.add("八重神子");
|
||||
productCategory.add("纳西妲");
|
||||
productCategory.add("可莉");
|
||||
Product product = new Product();
|
||||
product.setImageUrlId(R.drawable.zhongli);
|
||||
product.setProductName("钟离");
|
||||
// product.setProductPrice(new BigDecimal("9.9"));
|
||||
product.setCharacterStory(" 在璃月的传统中,“请仙”与“送仙”是同样重要的事。最擅长“送别”一道的,莫过于胡家传承七十七代的“往生堂”。但“往生堂”的堂主胡桃本人,主要还是专注于送别凡人的技艺。\n" +
|
||||
" 送别仙人的诸般仪式,则交由一位“道上的朋友”—钟离打理。仙人与璃月一同度过漫长岁月,三千多年来升天者寥寥无几,这就意味着一切相关传统都只能以纸面形式存在,时间跨度实在太长了,这可不是那种你小时候咬着糖葫芦参加过一回,老了还能躺在竹椅上再次亲眼目睹的事件。\n" +
|
||||
" 但即便是眼光最为挑剔、沉迷旧纸堆的老学究,也无法对“往生堂”操办的送仙典仪挑出任何毛病。不仅仪式中人的服饰合规,仪式举行的吉时、地点、用具,乃至当天天气、仪式时长、允许观礼人数、观礼者身份职业年龄,哪怕将以上所有全都纳入计量范畴,也无一不合礼节。\n" +
|
||||
" 若人们以“通古晓今”来形容钟离,他只会无奈地一笑,叹道: “我只是……记性很好。”");
|
||||
Product product1 = new Product();
|
||||
product1.setImageUrlId(R.drawable.hutao);
|
||||
product1.setProductName("胡桃");
|
||||
// product1.setProductPrice(new BigDecimal("29.9"));
|
||||
product1.setCharacterStory(" 往生堂第七十七代堂主,掌管堂中事务的少女。身居堂主之位,却没有半分架子。她的鬼点子,比瑶光滩上的海砂都多。她的脑袋里装着无数奇思妙想,叫旁人惊讶不已。平日里,胡桃俨然是个贪玩孩子,一有闲功夫便四处乱逛,被邻里看作甩手掌柜。唯有葬礼上亲自带领仪倌队伍走过繁灯落尽的街道时,她才会表现出凝重、肃穆的一面。");
|
||||
Product product2 = new Product();
|
||||
product2.setImageUrlId(R.drawable.bachong);
|
||||
product2.setProductName("八重神子");
|
||||
// product2.setProductPrice(new BigDecimal("19.9"));
|
||||
product2.setCharacterStory(" 掌管鸣神大社的大巫女、白辰血脉的继承者、“永恒”的眷属与友人,以及,轻小说出版社“八重堂”的恐怖总编……细究起来,八重神子的头衔竟与她的性情同样难测多变。\n" +
|
||||
" 出于各种目的试图搞清神子“真面目”的人,可以从天领奉行府一路排到“八重堂”门口,然而迄今为止,成功者依旧寥寥。\n" +
|
||||
" 毕竟神子从未刻意掩饰什么。千面百变,不过是兴之所至,随心所欲罢了。没有谜面的谜语,本就不成立。只需记得,她永远是那位“兼具智慧与美貌的八重神子大人”就好。");
|
||||
Product product3 = new Product();
|
||||
product3.setImageUrlId(R.drawable.naxida);
|
||||
product3.setProductName("纳西妲");
|
||||
// product3.setProductPrice(new BigDecimal("19.9"));
|
||||
product3.setCharacterStory(" 许久之前,草神创造了须弥雨林,又通过教令院将智慧赐予国民。她的美名无处不在,千万个故事,只为传唱她的事迹与美德而问世。在人民眼中,草神的存在更像是一种符号化的象征——因此,他们才能确信神明的庇护自古就存在于这片土地之上。\n" +
|
||||
" 城中至贤对草神崇拜备至,民众也坚定不移地追随其后。而影响诸多的“虚空”系统,则是“小吉祥草王”的耳与目。\n" +
|
||||
" 它给予她遍历人们喜怒哀乐的能力,令她听见看见一切,让她理解了赞美之外的声音。见闻越是拓展,她越明白自己必须不断学习。\n" +
|
||||
" 她唯有尽快成长,才能面对来自世界最深处的威胁。无法逃离,那是她无法回避的使命。即便没多少人对现状不满,纳西妲依旧坚定不移。\n" +
|
||||
" 她的顽强来源于信念,她比任何人都明白——在这里,她将是所有人的寄托与依靠。");
|
||||
Product product4 = new Product();
|
||||
product4.setImageUrlId(R.drawable.keli);
|
||||
product4.setProductName("可莉");
|
||||
// product4.setProductPrice(new BigDecimal("19.9"));
|
||||
product4.setCharacterStory(" 如果向蒙德的酒客们说起西风骑士团战力最强的成员,恐怕大多数人会列举大名鼎鼎的代理团长琴、骑兵队长凯亚或神秘的贵公子迪卢克。\n" +
|
||||
" 但也有人在醉眼朦胧间,目睹了一位红色骑士将整座望风山夷为平地的壮举,若想寻访这位神秘的骑士,恐怕就要到西风骑士团的禁闭室一探究竟了。假如禁闭室空空如也,或许某些爆炸性的糟糕事件就快要发生了。\n" +
|
||||
" 可莉就是这样的“危险人物”。作为骑士团正式成员,她的能力不容小觑。而作为一个过于活泼的孩子,她的破坏力同样巨大。毕竟,与蒙德其他小孩子不同,爆炸物才是可莉最为喜欢的玩具。");
|
||||
productList.add(product);
|
||||
productList.add(product1);
|
||||
productList.add(product2);
|
||||
productList.add(product3);
|
||||
productList.add(product4);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化组件
|
||||
*/
|
||||
private void init() {
|
||||
titleList = findViewById(R.id.category_title_list);
|
||||
adapter = new Adapter(productCategory, CategoryActivity.this);
|
||||
titleList.setAdapter(adapter);
|
||||
}
|
||||
}
|
@ -1,134 +0,0 @@
|
||||
package com.example.mysoft.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.example.mysoft.R;
|
||||
import com.lljjcoder.citypickerview.widget.CityPicker;
|
||||
|
||||
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener {
|
||||
|
||||
private EditText usernameEdit, passwordEdit, surePasswordEdit;
|
||||
private TextView cityText;
|
||||
private CityPicker cityPicker;
|
||||
private Button regButton;
|
||||
private RadioGroup sexGroup;
|
||||
private String sexStr="男";
|
||||
|
||||
@Override
|
||||
protected void onCreate( @Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.user_register);
|
||||
init();
|
||||
}
|
||||
/**
|
||||
* 界面组件初始化
|
||||
*/
|
||||
private void init() {
|
||||
cityText = findViewById(R.id.reg_province);
|
||||
cityText.setOnClickListener(this);
|
||||
usernameEdit=findViewById(R.id.reg_username);
|
||||
passwordEdit=findViewById(R.id.reg_password);
|
||||
surePasswordEdit=findViewById(R.id.reg_sure_password);
|
||||
regButton=findViewById(R.id.reg_register);
|
||||
regButton.setOnClickListener(this);
|
||||
sexGroup=findViewById(R.id.sex);
|
||||
sexGroup.setOnCheckedChangeListener(this);
|
||||
}
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.reg_province:
|
||||
initCityPicker();
|
||||
cityPicker.show();
|
||||
break;
|
||||
case R.id.reg_register:
|
||||
//注册验证方法
|
||||
validateRegister();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化城市选择器
|
||||
*/
|
||||
public void initCityPicker() {
|
||||
cityPicker = new CityPicker.Builder(RegisterActivity.this)
|
||||
.textSize(16)
|
||||
.title("地址选择")
|
||||
.backgroundPop(0xa0000000)
|
||||
.titleBackgroundColor("#EFB81C")
|
||||
.titleTextColor("#000000")
|
||||
.backgroundPop(0xa0000000)
|
||||
.confirTextColor("#000000")
|
||||
.cancelTextColor("#000000")
|
||||
.province("湖南省")
|
||||
.city("常德市")
|
||||
.district("武陵区")
|
||||
.textColor(Color.parseColor("#000000"))
|
||||
.provinceCyclic(true)
|
||||
.cityCyclic(false)
|
||||
.districtCyclic(false)
|
||||
.visibleItemsCount(7)
|
||||
.itemPadding(10)
|
||||
.onlyShowProvinceAndCity(false)
|
||||
.build();
|
||||
cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {
|
||||
@Override
|
||||
public void onSelected(String... strings) {
|
||||
String province = strings[0];
|
||||
String city = strings[1];
|
||||
String district = strings[2];
|
||||
cityText.setText(String.format("%s %s %s", province, city, district));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void validateRegister() {
|
||||
Intent intent = new Intent(RegisterActivity.this, UserActivity.class);
|
||||
String username = usernameEdit.getText().toString();
|
||||
String password = passwordEdit.getText().toString();
|
||||
String surePassword = surePasswordEdit.getText().toString();
|
||||
String city = cityText.getText().toString();
|
||||
//判断两次密码是否输入一致
|
||||
if (password.equals(surePassword)) {
|
||||
if (password.equals("") || !password.equals("")) {
|
||||
if (!city.equals("")) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("username", username);
|
||||
bundle.putString("password", password);
|
||||
bundle.putString("sex", sexStr);
|
||||
bundle.putString("city", city);
|
||||
intent.putExtras(bundle);
|
||||
startActivity(intent);
|
||||
} else {
|
||||
Toast.makeText(RegisterActivity.this, "请选择地址", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(RegisterActivity.this, "账号或密码未填写", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(RegisterActivity.this, "两次密码输入不一致", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckedChanged(RadioGroup group,int checkedId){
|
||||
sexStr=checkedId==R.id.reg_man?"男":"女";
|
||||
|
||||
}
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
package com.example.mysoft.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.example.mysoft.MainActivity;
|
||||
import com.example.mysoft.R;
|
||||
|
||||
public class UserActivity extends Activity implements View.OnClickListener{
|
||||
private ImageView userIconImage;
|
||||
private TextView usernameText, userSexText, userCityText;
|
||||
private LinearLayout usernameLine, userSexline, userCityLine, userPayLine, userSettingLine, userGeneralLine,userSearchProductLine;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.content_user);
|
||||
init();
|
||||
Button toLogin = findViewById(R.id.toLogin);
|
||||
toLogin.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(UserActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 组件初始化
|
||||
*/
|
||||
private void init() {
|
||||
userIconImage = findViewById(R.id.user_icon);
|
||||
usernameText = findViewById(R.id.user_username);
|
||||
userSexText = findViewById(R.id.user_sex);
|
||||
userCityText = findViewById(R.id.user_city);
|
||||
usernameLine = findViewById(R.id.user_username_line);
|
||||
userSexline = findViewById(R.id.user_sex_line);
|
||||
userCityLine = findViewById(R.id.user_city_line);
|
||||
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);
|
||||
setData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 组件赋值
|
||||
*/
|
||||
private void setData() {
|
||||
Intent intent = UserActivity.this.getIntent();
|
||||
Bundle bundle = intent.getExtras();
|
||||
usernameText.setText(String.format("用户名:%s", bundle.getString("username")));
|
||||
userSexText.setText(String.format("性别:%s", bundle.getString("sex")));
|
||||
userCityText.setText(String.format("城市:%s", bundle.getString("city")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.user_searchProduct:
|
||||
Intent intent1 = new Intent(UserActivity.this, CategoryActivity.class);
|
||||
startActivity(intent1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,69 +0,0 @@
|
||||
package com.example.mysoft.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.mysoft.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Adapter extends BaseAdapter {
|
||||
private List<String> productCategory;
|
||||
private LayoutInflater layoutInflater;
|
||||
private int selectionPosition = -1;
|
||||
|
||||
public Adapter(List<String> 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;
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
package com.example.mysoft.entity;
|
||||
|
||||
public class MyUser {
|
||||
private Integer id;
|
||||
private String username;
|
||||
private String password;
|
||||
private String sex;
|
||||
private String city;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getSex() {
|
||||
return sex;
|
||||
}
|
||||
|
||||
public void setSex(String sex) {
|
||||
this.sex = sex;
|
||||
}
|
||||
|
||||
public String getCity() {
|
||||
return city;
|
||||
}
|
||||
|
||||
public void setCity(String city) {
|
||||
this.city = city;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OrangeUser{" +
|
||||
"username='" + username + '\'' +
|
||||
", password='" + password + '\'' +
|
||||
", sex='" + sex + '\'' +
|
||||
", city='" + city + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package com.example.mysoft.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 String getCharacterStory(){ return characterStory;}
|
||||
|
||||
public void setCharacterStory(String characterStory){
|
||||
this.characterStory=characterStory;
|
||||
}
|
||||
|
||||
public Integer getImageUrlId() {
|
||||
return imageUrlId;
|
||||
}
|
||||
|
||||
public void setImageUrlId(Integer imageUrlId) {
|
||||
this.imageUrlId = imageUrlId;
|
||||
}
|
||||
|
||||
private Integer imageUrlId;
|
||||
private String productName;
|
||||
private BigDecimal productPrice;
|
||||
private String characterStory;
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
package com.example.mysoft.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.mysoft.R;
|
||||
import com.example.mysoft.activity.CategoryActivity;
|
||||
import com.example.mysoft.entity.Product;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class SetDetailFragment extends Fragment {
|
||||
private View view;
|
||||
private ImageView imageView;
|
||||
private TextView nameText, priceText,storyText;
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
view = inflater.inflate(R.layout.categoty_detail_content, container, false);
|
||||
if (view != null) {
|
||||
init();
|
||||
}
|
||||
CategoryActivity categoryActivity = (CategoryActivity) getActivity();
|
||||
categoryActivity.setOnChangeListener(new CategoryActivity.OnChangeListener() {
|
||||
@Override
|
||||
public void changeText(Product product) {
|
||||
imageView.setBackgroundResource(product.getImageUrlId());
|
||||
nameText.setText(product.getProductName());
|
||||
// priceText.setText(product.getProductPrice().toString());
|
||||
storyText.setText(product.getCharacterStory());
|
||||
}
|
||||
});
|
||||
/* 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);
|
||||
storyText = view.findViewById(R.id.characterStory);
|
||||
}
|
||||
|
||||
}
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 97 KiB |
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Hello World!"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/categor_titles"
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="18sp"
|
||||
android:text="标题" />
|
||||
</LinearLayout>
|
@ -1,49 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<ImageView
|
||||
android:id="@+id/category_product_image"
|
||||
android:layout_width="268dp"
|
||||
android:layout_height="131dp"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/category_product_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textColor="#050505"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<!-- <TextView-->
|
||||
<!-- android:id="@+id/category_product_price"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="30dp"-->
|
||||
<!-- android:layout_gravity="center"-->
|
||||
<!-- android:layout_marginTop="10dp"-->
|
||||
<!-- android:gravity="center"-->
|
||||
<!-- android:textColor="#050505"-->
|
||||
<!-- android:textSize="16sp" />-->
|
||||
<TextView
|
||||
android:id="@+id/characterStory"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="start"
|
||||
android:textColor="#050505"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
@ -1,52 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#E8E8E8"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!--标题-->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:background="#EFB81C"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/category_return"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/arrow_left" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="背景故事"
|
||||
android:textColor="#FFF"
|
||||
android:textSize="20sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!--分类标题和内容-->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
<!--标题-->
|
||||
<ListView
|
||||
android:id="@+id/category_title_list"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
<!--内容-->
|
||||
<FrameLayout
|
||||
android:id="@+id/category_detail"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="3" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 15 KiB |
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#008577</color>
|
||||
<color name="colorPrimaryDark">#00574B</color>
|
||||
<color name="colorAccent">#D81B60</color>
|
||||
</resources>
|
@ -1,3 +0,0 @@
|
||||
<resources>
|
||||
<string name="app_name">Mysoft</string>
|
||||
</resources>
|
@ -1,2 +0,0 @@
|
||||
include ':app'
|
||||
rootProject.name='Mysoft'
|
@ -1,2 +1,2 @@
|
||||
#Mon Mar 20 17:41:02 CST 2023
|
||||
#Tue Mar 21 09:32:47 CST 2023
|
||||
gradle.version=4.1
|
||||
|
Before Width: | Height: | Size: 731 B After Width: | Height: | Size: 730 B |
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 407 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |