diff --git a/app/src/main/java/com/example/SearchCenter/CMKGStackAdapter.java b/app/src/main/java/com/example/SearchCenter/CMKGStackAdapter.java index 6ae0fa0..08ef2f1 100644 --- a/app/src/main/java/com/example/SearchCenter/CMKGStackAdapter.java +++ b/app/src/main/java/com/example/SearchCenter/CMKGStackAdapter.java @@ -116,12 +116,17 @@ public class CMKGStackAdapter extends StackAdapter implements Condition //对应治疗方法,那么标题就要有多个 titleText.setText(SearchEntryActivity.content.get(title_num)); title_num++; + if(title_num==SearchEntryActivity.content.size()) + title_num=0; }else{ if(title_num==0) { titleText.setText(returnData.getMsg()); title_num++; } - else titleText.setText("可以治疗的病症"); + else { + titleText.setText("可以治疗的病症"); + title_num=0; + } } cardTitle.getBackground().setColorFilter(ContextCompat.getColor(getContext(),backgroundColorId), PorterDuff.Mode.SRC_IN);//传入的int值,其实是一个颜色,在这里改变头部的颜色 diff --git a/app/src/main/java/com/example/SearchCenter/SearchEntryActivity.java b/app/src/main/java/com/example/SearchCenter/SearchEntryActivity.java index 0ddd7b6..2cc0148 100644 --- a/app/src/main/java/com/example/SearchCenter/SearchEntryActivity.java +++ b/app/src/main/java/com/example/SearchCenter/SearchEntryActivity.java @@ -10,6 +10,7 @@ import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; +import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; @@ -63,6 +64,7 @@ public class SearchEntryActivity extends AppCompatActivity implements CardStackV setContentView(R.layout.activity_search_entry); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); + Log.i("bundle",bundle.toString()); init(bundle); } @@ -73,11 +75,7 @@ public class SearchEntryActivity extends AppCompatActivity implements CardStackV void init(Bundle bundle) { - - List> lists=new LinkedList<>(); - - //获取response后,将这个json数据解析 ReturnData response = (ReturnData) bundle.getSerializable("msg"); Log.i("response+++++",response+"返回值"); @@ -88,14 +86,19 @@ public class SearchEntryActivity extends AppCompatActivity implements CardStackV String message = response.getMsg(); Log.i("msg:",""+message); - if(code == DiseaseToSymptom){ + if(code==501){ + Toast.makeText(this, "抱歉没有找到呢", Toast.LENGTH_LONG).show(); + System.out.println("显示错误啦啊"); + }else if(code == DiseaseToSymptom){ /** * //返回的是病症 * 标题就是病的名字,内容就是症状。lists就是病名,list就是病症 */ + if(content.size()!=0){ + content.clear(); + } List list = new LinkedList<>(); list.add(new ContentData((String)response.getData())); - Log.i("response.getData",(String)response.getData()); lists.add(list); new_color=new Integer[1]; }else if(code==DiseaseToMedicines){ @@ -103,32 +106,39 @@ public class SearchEntryActivity extends AppCompatActivity implements CardStackV * //返回的是结解决的多种药品方法 * 标题就是药品的名字,内容就是用法,暂时不做用法(用法先用数字代替) */ + if(content.size()!=0){ + content.clear(); + } Log.i("hah",""+(String)response.getData()); JSONArray jsonArray = new JSONArray((String)response.getData()); for(int i=0;i list=new LinkedList<>(); list.add(new ContentData("我是您的用法哦~请您看看我嘞\n我无比的期待您的光临嘞\n我们没有连数据呢,马上就有嘞!")); content.add((String) jsonArray.get(i)); - System.out.println("content.size="+content.size()); lists.add(list); } + System.out.println("++++"+jsonArray.length()); new_color=new Integer[jsonArray.length()]; }else if(code==MedicineToOperation) { /** * //返回的是药的用法 * //标题就是药品的名字,内容是用法 */ - + if(content.size()!=0){ + content.clear(); + } List list = new LinkedList<>(); list.add(new ContentData((String)response.getData())); lists.add(list); new_color=new Integer[1]; - }else{ + }else if(code==MedicineToFunction){ /** * //返回的是药的主治症状和对应的 * 标题是药的名字和“可以治疗的疾病”,内容是症状,和十种药物 */ - + if(content.size()!=0){ + content.clear(); + } List list = new LinkedList<>(); String str=(String)response.getData(); JSONObject jo=new JSONObject(str.toString()); @@ -139,23 +149,21 @@ public class SearchEntryActivity extends AppCompatActivity implements CardStackV JSONArray ja=new JSONArray(disease_names); List list_1=new LinkedList<>(); for(int i=0;i(); list_1.add(new ContentData(ja.get(i).toString())); - System.out.println("病症有这些!="+ja.get(i).toString()); + content.add(ja.get(i).toString()); } lists.add(list_1); new_color=new Integer[2]; } - for(int i=0;i3){ + texts=new String[3]; + for(int i=0;i<3;i++) { + int a; + while(true){ + a=r.nextInt(content.size()); + if(getDuplicate(a,index)) + break; + } + index[i] =a; + texts[i]=content.get(index[i])+"能治什么病症"; + } + }else{ + texts=new String[content.size()]; + for(int i=0;i3){ + texts=new String[3]; + for(int i=0;i<3;i++) { + int a; + while(true){ + a=r.nextInt(9); + System.out.println("The last a="+a); + if(getDuplicate(a,index)) + break; + } + System.out.println("The waibu a="+a); + index[i] = r.nextInt(content.size()); + texts[i]=content.get(index[i])+"吃什么药"; + System.out.println("text[i]="+texts[i]); + } + }else{ + texts=new String[content.size()]; + for(int i=0;i3) + rd = cmkgWebServiceGet.executeHttpGet(publicStringUtil.questionArgsname + content.get(index[position]) + model_Text, publicStringUtil.questionSearchURL); + else + rd = cmkgWebServiceGet.executeHttpGet(publicStringUtil.questionArgsname + content.get(position) + model_Text, publicStringUtil.questionSearchURL); + } + Message m = new Message(); + Bundle bundle = new Bundle(); + bundle.putSerializable("msg", rd); + Intent intent = new Intent(); + intent.setClass(SearchEntryActivity.this, SearchEntryActivity.class); + intent.putExtras(bundle); + startActivity(intent); + } + }).start(); + } }); listView.setAdapter(view_adapter); - for(int i:new_color) - System.out.println("i="+i); + if(response.getCode()!=501) adapter.updateData(Arrays.asList(new_color),lists); } + + private boolean getDuplicate(int a,int[] index) { + for(int num:index){ + if(a==num) + return false; + } + return true; + } } diff --git a/app/src/main/res/layout/activity_search_entry.xml b/app/src/main/res/layout/activity_search_entry.xml index e9e1005..5bf5e28 100644 --- a/app/src/main/res/layout/activity_search_entry.xml +++ b/app/src/main/res/layout/activity_search_entry.xml @@ -14,6 +14,7 @@ @@ -24,7 +25,7 @@ android:text="你可能感兴趣" android:textStyle="bold" android:paddingLeft="100dp" - android:paddingTop="150dp" + android:paddingTop="30dp" android:id="@+id/asscoiate_text" />