Android实验活动与Intent的使用

   日期:2020-11-12     浏览:155    评论:0    
核心提示:Android实验活动与Intent的使用实验内容:设计一个新闻类用于存储新闻内容,如:class News{ public String title; public String content; public String Source; public String Time;}让程序默认加载ListActivity,创建长度为2的News对象数组,并为其硬编码赋值,将两个数组元素中的值分别加载到两个新闻列表项中点击列表项,进入

Android实验活动与Intent的使用

实验内容:

  • 设计一个新闻类用于存储新闻内容,如:

    class News{ 
    
         public String title;
    
         public String content;
    
         public String Source;
    
         public String Time;
    
    }
    
  • 让程序默认加载ListActivity,创建长度为2的News对象数组,并为其硬编码赋值,将两个数组元素中的值分别加载到两个新闻列表项中

  • 点击列表项,进入Detail,使用Intent将该列表项对应的News对象值传入,并显示在界面中

  • 进入DetailActivity和退出DetailActivity时,分别记录时间,如果用户停留时间超过30秒,则向List传值,表示该新闻已读,ListActivity将标记为已读的文字显示为灰色

实验截图:

Java代码:

DetailActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class DetailActivity extends AppCompatActivity { 

    @Override
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        News news = (News) getIntent().getSerializableExtra("news");
        TextView title = findViewById(R.id.title);
        title.setText(news.getTitle());
        TextView source = findViewById(R.id.source);
        source.setText(news.getSource());
        TextView time = findViewById(R.id.date);
        time.setText(news.getTime());
        TextView content = findViewById(R.id.content);
        content.setText(news.getContent());
    }


}

News.java:

package com.example.myapplication;


import java.io.Serializable;

public class News  implements Serializable { 
    public String title;
    public String content;
    public String source;
    public String time;
    public int id;


    public String getTitle() { 
        return title;
    }

    public void setTitle(String title) { 
        this.title = title;
    }

    public String getContent() { 
        return content;
    }

    public void setContent(String content) { 
        this.content = content;
    }

    public String getSource() { 
        return source;
    }

    public void setSource(String source) { 
        this.source = source;
    }

    public String getTime() { 
        return time;
    }

    public void setTime(String time) { 
        this.time = time;
    }

    public int getId() { 
        return id;
    }

    public void setId(int id) { 
        this.id = id;
    }
}

NewsActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class NewsActivity extends AppCompatActivity { 

    public News[] news = new News[2];
    public static long stopTime1,stopTime2;
    public static int id;

    @Override
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news);

        news[0] = new News();
        news[0].setTitle("海绵宝宝快乐的一天");
        news[0].setContent("海绵宝宝和派大星打架,派大星:你这个黄色块块!海绵宝宝:你这个粉红尖尖!");
        news[0].setSource("来源:新华网");
        news[0].setTime("2020/10/15");
        news[0].setId(1);



        news[1] = new News();
        news[1].setTitle("派大星星开心的一天");
        news[1].setContent("派大星:他真是可怕了,一看到他我就恶心!那双大牛眼睛、方身体、两颗大门牙,还有那个愚蠢的领带!真是太可怕了! 海绵宝宝:呃…… 派大星:但是这些在你身上就很好看~");
        news[1].setSource("来源:新华网");
        news[1].setTime("2020/10/15");
        news[1].setId(2);





        RelativeLayout news1 = findViewById(R.id.news1);
        news1.setOnClickListener(new View.OnClickListener() { 
            @Override
            public void onClick(View v) { 

                stopTime1=System.currentTimeMillis();
                id=news[0].getId();
                Intent intent = new Intent(NewsActivity.this,DetailActivity.class);
                intent.putExtra("news",news[0]);
                startActivity(intent);

            }
        });



        RelativeLayout news2 = findViewById(R.id.news2);
        news2.setOnClickListener(new View.OnClickListener() { 
            @Override
            public void onClick(View v) { 
                stopTime1=System.currentTimeMillis();
                id=news[1].getId();
                Intent intent = new Intent(NewsActivity.this,DetailActivity.class);
                intent.putExtra("news",news[1]);
                startActivity(intent);
            }
        });


    }




    @Override
    protected void onRestart() { 
        super.onRestart();

        stopTime2=System.currentTimeMillis();

        if((stopTime2-stopTime1)/1000>30){ 
            if (id==1){ 
                TextView title = findViewById(R.id.listtitle1);
                title.setTextColor(Color.GRAY);
            }
            else if(id==2){ 
                TextView title = findViewById(R.id.listtitle2);
                title.setTextColor(Color.GRAY);
            }

        }
    }
}

布局文件代码

Activity_detail.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".DetailActivity">

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/title" android:layout_gravity="center_horizontal" android:layout_marginTop="20dp" android:textColor="#000000" android:textSize="25sp" />

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" android:orientation="horizontal">

        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/source" android:textColor="#000000" android:textSize="15sp" />

        <TextView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#000000" android:textSize="15sp" android:gravity="right" android:layout_weight="1"/>


    </LinearLayout>

    <ImageView android:layout_width="match_parent" android:layout_height="33dp" android:src="@drawable/timg" android:layout_marginLeft="5dp" android:layout_marginRight="5dp"/>

    <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/content" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" android:textColor="#000000" android:textSize="17sp" />

</LinearLayout>

Activity_news.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:orientation="vertical" tools:context=".NewsActivity">

    <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:id="@+id/news1">

        <ImageView android:id="@+id/listimage1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:adjustViewBounds="true" android:maxWidth="90dp" android:maxHeight="80dp" android:src="@drawable/haibao" />

        <TextView android:id="@+id/listtitle1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_toRightOf="@id/listimage1" android:text="海绵宝宝快乐的一天" android:textColor="#000000" android:textSize="20sp" />

        <TextView android:id="@+id/listsource1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/listtitle1" android:layout_marginLeft="20dp" android:layout_marginTop="15dp" android:layout_toRightOf="@id/listimage1" android:text="来源:新华网" android:textSize="15sp" />

        <TextView android:id="@+id/listdate1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/listtitle1" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginTop="15dp" android:text="时间:2020/10/09" android:textSize="15sp" />
    </RelativeLayout>

    <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/news2" android:clickable="true">

        <ImageView android:id="@+id/listimage2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:adjustViewBounds="true" android:maxWidth="90dp" android:maxHeight="80dp" android:src="@drawable/paidaxing" />

        <TextView android:id="@+id/listtitle2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_toRightOf="@id/listimage2" android:text="派大星星开心的一天" android:textColor="#000000" android:textSize="20sp" />

        <TextView android:id="@+id/listsource2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/listtitle2" android:layout_marginLeft="20dp" android:layout_marginTop="15dp" android:layout_toRightOf="@id/listimage2" android:text="来源:新华网" android:textSize="15sp" />

        <TextView android:id="@+id/listdate2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/listtitle2" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_marginTop="15dp" android:text="时间:2020/10/09" android:textSize="15sp" />
    </RelativeLayout>


</LinearLayout>

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服