安卓小日记练习(6)listview点击后的界面布局和数据传递的完善

来源:互联网 发布:清华大学软件学院分数 编辑:程序博客网 时间:2024/05/18 21:07

        本来(5)就想做这个的,结果为啥去做了下栏的年份和月份菜单呢?答案就在这里了,我们通过点击进入这个新的活动,是需要信息的,其中就包括年份和月份信息的,我们先通过主界面下方的年份和月份菜单随便选一个。然后随便点一个item,发现星期,年份,月份,月中的哪一天,和日记的具体内容,全部都传过去展示出来了。

这个界面设计就比较简单了(虽然设计的还是丑,过两天再来修缮),主要是信息的传递,需要传递的地方,都用textview,然后再对应活动中动态的加载就可以了。

布局:

<?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" >       <LinearLayout      android:layout_marginTop="12dip"            android:id="@+id/showup"            android:layout_width="match_parent"            android:layout_height="40dip"            android:orientation="horizontal" >           <View            android:layout_width="0dp"            android:layout_weight="2.5"            android:layout_height="0dp"            />                 <TextView            android:id="@+id/show_week"            android:layout_height="20dip"            android:layout_width="wrap_content"            android:layout_weight="1"            android:textStyle="bold"            />                <ImageView                android:layout_height="15dip"                android:layout_width="wrap_content"                android:layout_weight="1"                android:src="@drawable/divi2"                />                <TextView            android:id="@+id/show_month"            android:layout_height="20dip"            android:layout_width="wrap_content"            android:layout_weight="1"            android:textStyle="bold"            />        <View            android:layout_width="0dp"            android:layout_weight="0.5"            android:layout_height="0dp"            />                <TextView            android:id="@+id/show_day"            android:layout_height="20dip"            android:layout_width="wrap_content"            android:layout_weight="1"            android:textStyle="bold"            />                         <ImageView                android:layout_height="15dip"                android:layout_width="wrap_content"                android:layout_weight="1"                android:src="@drawable/divi2"                />                   <TextView            android:id="@+id/show_year"            android:layout_height="20dip"            android:layout_width="wrap_content"            android:layout_weight="1"            android:textStyle="bold"            />                <View            android:layout_width="0dp"            android:layout_weight="3"            android:layout_height="0dp"            />          </LinearLayout>       <ImageView        android:layout_height="5dip"       android:gravity="center"        android:layout_width="wrap_content"        android:src="@drawable/longlong"        />    <TextView    android:layout_marginTop="5dip"    android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:id="@+id/text1"    />    </LinearLayout>

活动中的代码:

package com.example.littled;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class ShowActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_show);Intent intent = getIntent();String w = intent.getStringExtra("week");if(w == "MON")w = "MONDAY";else if(w == "TUE")w = "TUESDAY";else if(w == "WED")w = "WEDNESDAY";else if(w == "THR")w = "THRUTHDAY";else if(w == "FRI")w = "FRIDAY";else if(w == "SAT")w = "SATURDAY";else if(w == "SUN")w = "SUNDAY";TextView tv1 = (TextView)findViewById(R.id.show_week);tv1.setText(w);String m = intent.getStringExtra("month");TextView tv2 = (TextView)findViewById(R.id.show_month);tv2.setText(m);String da = intent.getStringExtra("day");TextView tv3 = (TextView)findViewById(R.id.show_day);tv3.setText(da);String y = intent.getStringExtra("year");TextView tv4 = (TextView)findViewById(R.id.show_year);tv4.setText(y);String d = intent.getStringExtra("detail");TextView tv5=(TextView)findViewById(R.id.text1); tv5.setText(d);}}

最后再来看看主界面方面:

package com.example.littled;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.AdapterView;import android.widget.PopupMenu;import android.widget.TextView;import android.widget.Toast;import android.view.View;public class MainActivity extends Activity {private String monthmenu;private String yearmenu;private ArrayList<Object> daylist = new ArrayList<Object>();private ArrayList<Object> pointlist = new ArrayList<Object>();private ArrayList<Object> data = new ArrayList<Object>();TextView tv1;TextView tv2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                tv1=(TextView)findViewById(R.id.text_view1);        monthmenu = "August";tv1.setText(monthmenu);         tv2=(TextView)findViewById(R.id.text_view2); yearmenu = "2015"; tv2.setText(yearmenu);        tv1.setOnClickListener(new View.OnClickListener()        {        @Override        public void onClick(View v)        {        showPopupMenu1(tv1);        }        });                tv2.setOnClickListener(new View.OnClickListener()        {        @Override        public void onClick(View v)        {        showPopupMenu2(tv2);        }        });        initDays();        DayApater adapter = new DayApater(MainActivity.this,data);        ListView listView = (ListView)findViewById(R.id.list_view);        listView.setAdapter(adapter);                listView.setOnItemClickListener(new AdapterView.OnItemClickListener()        {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id)            {                Day d = (Day)data.get(position);                String sdetail = d.getDetail();                String sday = d.getDay();                String sweek = d.getWeek();                Intent intent = new Intent(MainActivity.this, ShowActivity.class);                intent.putExtra("detail", sdetail);                intent.putExtra("week",sweek);                intent.putExtra("day", sday);                intent.putExtra("year",yearmenu);                intent.putExtra("month", monthmenu);                startActivity(intent);            }        });    }                private void initDays()        {        Day day1 = new Day("SAT","1","我去超市来着...");        data.add(day1);        Day day2 = new Day("SUN","2","今天第一次和智恩吃意大利面。");        data.add(day2);        Day day3 = new Day("MON","3","路两边的树吸走了汽车尾气");        data.add(day3);        Day day4 = new Day("TUE","4","现在每天都能吃到猪排饭了,好开心啊");        data.add(day4);        Point point = new Point(R.drawable.blackpoint);        data.add(point);        data.add(point);        Day day5 = new Day("FRI","7","你,黑咖啡,芝士年糕,羽毛球,成功");        data.add(day5);        Day day6 = new Day("SAT","8","DGA 7 最爱");        data.add(day6);        }        private void showPopupMenu1(View view) {         PopupMenu popupMenu = new PopupMenu(this, view);         popupMenu.getMenuInflater().inflate(R.menu.text1, popupMenu.getMenu());         popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {          @Override          public boolean onMenuItemClick(MenuItem item) {          monthmenu = (String) item.getTitle();          tv1.setText(monthmenu);          return false;          }         });         popupMenu.show();        }        private void showPopupMenu2(View view) {        PopupMenu popupMenu = new PopupMenu(this, view);        popupMenu.getMenuInflater().inflate(R.menu.text2, popupMenu.getMenu());        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {         @Override         public boolean onMenuItemClick(MenuItem item) {         yearmenu = (String) item.getTitle();         tv2.setText(yearmenu);         return false;         }        });        popupMenu.show();       }}


0 0
原创粉丝点击