新浪模仿

第一步,导入水果列表的代码。然后打开Fruit.java,添加变量:private String text;private String time;分别的评论部分和显示时间的部分。添加Source-Generate Constructor using Fields,确定;再添加GetterSetter方法。

第二步,这个时候系统会报错,打开MainActivity.java,修改initFruits()这个方法,Fruit apple = new Fruit("潇湘夜雨", R.drawable.p1,"今天好高兴啊!","1分钟前");下边的也类似。

第三步,打开FruitAdapter.java,修改 getView这个方法。添加TextView textView=(TextView)view.findViewById(R.id.textView);
TextView textView2=(TextView)view.findViewById(R.id.textView2);
再添加textView.setText(fruit.getText());
textView2.setText(fruit.getTime());

第四步,自定义标题栏。

1.res/value下建立mytitlebar.xml文件

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="myTitleBg">

        <item name="android:background">#FF0000</item>

    </style>

    <style name="myTheme" parent="android:Theme">

        <item name="android:windowNoTitle">false</item>

        <item name="android:windowTitleSize">30dp</item>

        <item name="android:windowTitleBackgroundStyle">@style/myTitleBg</item>

    </style>

</resources>

2.修改AndroidManifest.xml文件

 android:theme="@style/myTheme"

下边是代码:

 

MainActivity.java

[java] view plaincopyprint?
01.package com.example.ui_listview01;  
02.  
03.  
04.import java.util.ArrayList;  
05.import java.util.List;  
06.  
07.  
08.import android.app.Activity;  
09.import android.os.Bundle;  
10.import android.view.Menu;  
11.import android.view.View;  
12.import android.widget.AdapterView;  
13.import android.widget.Toast;  
14.import android.widget.AdapterView.OnItemClickListener;  
15.import android.widget.ListView;  
16.  
17.  
18.import com.example.ui_listview01.adpater.FruitAdapter;  
19.import com.example.ui_listview01.model.Fruit;  
20.  
21.  
22.public class MainActivity extends Activity {  
23.private ListView lvFruits;  
24.//1.准备好数据源   
25.private List<Fruit> fruitList = new ArrayList<Fruit>();  
26.  
27.  
28.@Override  
29.protected void onCreate(Bundle savedInstanceState) {  
30.super.onCreate(savedInstanceState);  
31.setContentView(R.layout.activity_main);  
32.//1.准备好数据源   
33.initFruits();  
34.  
35.lvFruits = (ListView) findViewById(R.id.lvFruits);  
36.  
37.//2.创建Adapter   
38.        FruitAdapter adapter=new FruitAdapter(this, R.layout.fruit_item,fruitList);  
39.          
40.        //3.绑定AdapterView和Adapter之间的关联   
41.lvFruits.setAdapter(adapter);  
42.lvFruits.setOnItemClickListener(new OnItemClickListener() {  
43.  
44.  
45.public void onItemClick(AdapterView<?> adapterView, View view, int position,  
46.long id) {  
47.   Fruit fruit=fruitList.get(position);  
48.   Toast.makeText(MainActivity.this, fruit.getName(), Toast.LENGTH_SHORT).show();  
49.}  
50.});  
51.  
52.  
53.  
54.  
55.  
56.  
57.}  
58.  
59.  
60.private void initFruits() {  
61.Fruit apple = new Fruit("潇湘夜雨", R.drawable.p1,"今天好高兴啊!","1分钟前");  
62.fruitList.add(apple);  
63.Fruit banana = new Fruit("小小", R.drawable.p2,"今天吃了好多啊!","2分钟前");  
64.fruitList.add(banana);  
65.Fruit orange = new Fruit("青春无悔", R.drawable.p3,"你今天多的怎么样啊?","3分钟前");  
66.fruitList.add(orange);  
67.Fruit watermelon = new Fruit("小丸子", R.drawable.p4,"最近如何呀?","1小时前");  
68.fruitList.add(watermelon);  
69.Fruit pear = new Fruit("米粒", R.drawable.p5,"过年好啊!","1.5小时前");  
70.fruitList.add(pear);  
71.Fruit grape = new Fruit("丽丽", R.drawable.p6,"我今天中午在学校吃了好多呀!","2小时前");  
72.fruitList.add(grape);  
73.Fruit pineapple = new Fruit(" 嘻嘻", R.drawable.p7,"你最近过的咋样啊!","6小时前");  
74.fruitList.add(pineapple);  
75.Fruit strawberry = new Fruit("晕晕", R.drawable.p8,"我今晚上吃啥呀","1天前");  
76.fruitList.add(strawberry);  
77.Fruit cherry = new Fruit("哈哈", R.drawable.p10,"再见了,各位朋友~","1周前");  
78.fruitList.add(cherry);  
79.  
80.  
81.  
82.}  
83.  
84.  
85.@Override  
86.public boolean onCreateOptionsMenu(Menu menu) {  
87.// Inflate the menu; this adds items to the action bar if it is present.   
88.getMenuInflater().inflate(R.menu.main, menu);  
89.return true;  
90.}  
91.  
92.  
93.}  
package com.example.ui_listview01;


import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;


import com.example.ui_listview01.adpater.FruitAdapter;
import com.example.ui_listview01.model.Fruit;


public class MainActivity extends Activity {
private ListView lvFruits;
//1.准备好数据源
private List<Fruit> fruitList = new ArrayList<Fruit>();


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.准备好数据源
initFruits();

lvFruits = (ListView) findViewById(R.id.lvFruits);

//2.创建Adapter
        FruitAdapter adapter=new FruitAdapter(this, R.layout.fruit_item,fruitList);
        
        //3.绑定AdapterView和Adapter之间的关联
lvFruits.setAdapter(adapter);
lvFruits.setOnItemClickListener(new OnItemClickListener() {


public void onItemClick(AdapterView<?> adapterView, View view, int position,
long id) {
   Fruit fruit=fruitList.get(position);
   Toast.makeText(MainActivity.this, fruit.getName(), Toast.LENGTH_SHORT).show();
}
});






}


private void initFruits() {
Fruit apple = new Fruit("潇湘夜雨", R.drawable.p1,"今天好高兴啊!","1分钟前");
fruitList.add(apple);
Fruit banana = new Fruit("小小", R.drawable.p2,"今天吃了好多啊!","2分钟前");
fruitList.add(banana);
Fruit orange = new Fruit("青春无悔", R.drawable.p3,"你今天多的怎么样啊?","3分钟前");
fruitList.add(orange);
Fruit watermelon = new Fruit("小丸子", R.drawable.p4,"最近如何呀?","1小时前");
fruitList.add(watermelon);
Fruit pear = new Fruit("米粒", R.drawable.p5,"过年好啊!","1.5小时前");
fruitList.add(pear);
Fruit grape = new Fruit("丽丽", R.drawable.p6,"我今天中午在学校吃了好多呀!","2小时前");
fruitList.add(grape);
Fruit pineapple = new Fruit(" 嘻嘻", R.drawable.p7,"你最近过的咋样啊!","6小时前");
fruitList.add(pineapple);
Fruit strawberry = new Fruit("晕晕", R.drawable.p8,"我今晚上吃啥呀","1天前");
fruitList.add(strawberry);
Fruit cherry = new Fruit("哈哈", R.drawable.p10,"再见了,各位朋友~","1周前");
fruitList.add(cherry);



}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


}

 

FruitAdapter.java

[java] view plaincopyprint?
01.package com.example.ui_listview01.adpater;  
02.  
03.  
04.import java.util.List;  
05.  
06.  
07.import android.content.Context;  
08.import android.view.LayoutInflater;  
09.import android.view.View;  
10.import android.view.ViewGroup;  
11.import android.widget.ArrayAdapter;  
12.import android.widget.BaseAdapter;  
13.import android.widget.ImageView;  
14.import android.widget.TextView;  
15.  
16.  
17.import com.example.ui_listview01.R;  
18.import com.example.ui_listview01.model.Fruit;  
19.  
20.  
21.//存在问题:在FruitAdapter的getView()方法中每次都将布局重新加载了一遍,当ListView快速滚动的时候这就会成为性能的瓶颈   
22.public class FruitAdapter extends ArrayAdapter<Fruit> {  
23.private int resourceId;  
24.public FruitAdapter(Context context, int textViewResourceId,  
25.List<Fruit> data) {  
26.super(context, textViewResourceId, data);  
27.resourceId=textViewResourceId;  
28.}  
29.  
30.  
31.// 这个方法在每个子项被滚动到屏幕内的时候会被调用   
32.@Override  
33.public View getView(int position, View convertView, ViewGroup parent) {  
34.Fruit fruit = getItem(position);  
35.View view=LayoutInflater.from(getContext()).inflate(resourceId, null);  
36.ImageView ivFruit=(ImageView) view.findViewById(R.id.ivFruit);  
37.TextView tvFruit=(TextView) view.findViewById(R.id.tvFruit);  
38.TextView textView=(TextView)view.findViewById(R.id.textView);  
39.TextView textView2=(TextView)view.findViewById(R.id.textView2);  
40.ivFruit.setImageResource(fruit.getImageId());  
41.tvFruit.setText(fruit.getName());  
42.textView.setText(fruit.getText());  
43.textView2.setText(fruit.getTime());  
44.return view;  
45.}  
46.  
47.  
48.  
49.  
50.  
51.  
52.  
53.  
54.  
55.  
56.  
57.}  
package com.example.ui_listview01.adpater;


import java.util.List;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


import com.example.ui_listview01.R;
import com.example.ui_listview01.model.Fruit;


//存在问题:在FruitAdapter的getView()方法中每次都将布局重新加载了一遍,当ListView快速滚动的时候这就会成为性能的瓶颈
public class FruitAdapter extends ArrayAdapter<Fruit> {
private int resourceId;
public FruitAdapter(Context context, int textViewResourceId,
List<Fruit> data) {
super(context, textViewResourceId, data);
resourceId=textViewResourceId;
}


// 这个方法在每个子项被滚动到屏幕内的时候会被调用
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Fruit fruit = getItem(position);
View view=LayoutInflater.from(getContext()).inflate(resourceId, null);
ImageView ivFruit=(ImageView) view.findViewById(R.id.ivFruit);
TextView tvFruit=(TextView) view.findViewById(R.id.tvFruit);
TextView textView=(TextView)view.findViewById(R.id.textView);
TextView textView2=(TextView)view.findViewById(R.id.textView2);
ivFruit.setImageResource(fruit.getImageId());
tvFruit.setText(fruit.getName());
textView.setText(fruit.getText());
textView2.setText(fruit.getTime());
return view;
}











}

 

FruitAdapterImprove1.java

[java] view plaincopyprint?
01.package com.example.ui_listview01.adpater;  
02.  
03.  
04.import android.content.Context;  
05.import android.view.LayoutInflater;  
06.import android.view.View;  
07.import android.view.ViewGroup;  
08.import android.widget.ArrayAdapter;  
09.import android.widget.ImageView;  
10.import android.widget.TextView;  
11.  
12.  
13.import com.example.ui_listview01.R;  
14.import com.example.ui_listview01.model.Fruit;  
15.  
16.  
17.//存在问题:虽然现在已经不会再重复去加载布局,但是每次在getView()方法中还是会调用View的findViewById()方法来获取一次控件的实例。   
18.public class FruitAdapterImprove1 extends ArrayAdapter {  
19.  
20.  
21.private int resourceId;  
22.  
23.  
24.public FruitAdapterImprove1(Context context, int textViewResourceId) {  
25.super(context, textViewResourceId);  
26.resourceId = textViewResourceId;  
27.}  
28.  
29.  
30.// 这个方法在每个子项被滚动到屏幕内的时候会被调用   
31.//getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用   
32.@Override  
33.public View getView(int position, View convertView, ViewGroup parent) {  
34.Fruit fruit = (Fruit) getItem(position);  
35.View view=null;  
36.if(convertView==null)  
37.  view = LayoutInflater.from(getContext()).inflate(resourceId, null);  
38.else  
39.  view=convertView;  
40.ImageView fruitImage = (ImageView) view.findViewById(R.id.ivFruit);  
41.TextView fruitName = (TextView) view.findViewById(R.id.tvFruit);  
42.fruitImage.setImageResource(fruit.getImageId());  
43.fruitName.setText(fruit.getName());  
44.return view;  
45.}  
46.  
47.  
48.}  
package com.example.ui_listview01.adpater;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;


import com.example.ui_listview01.R;
import com.example.ui_listview01.model.Fruit;


//存在问题:虽然现在已经不会再重复去加载布局,但是每次在getView()方法中还是会调用View的findViewById()方法来获取一次控件的实例。
public class FruitAdapterImprove1 extends ArrayAdapter {


private int resourceId;


public FruitAdapterImprove1(Context context, int textViewResourceId) {
super(context, textViewResourceId);
resourceId = textViewResourceId;
}


// 这个方法在每个子项被滚动到屏幕内的时候会被调用
//getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Fruit fruit = (Fruit) getItem(position);
View view=null;
if(convertView==null)
  view = LayoutInflater.from(getContext()).inflate(resourceId, null);
else
  view=convertView;
ImageView fruitImage = (ImageView) view.findViewById(R.id.ivFruit);
TextView fruitName = (TextView) view.findViewById(R.id.tvFruit);
fruitImage.setImageResource(fruit.getImageId());
fruitName.setText(fruit.getName());
return view;
}


}

 

FruitAdapterImprove2.doc

[java] view plaincopyprint?
01.package com.example.ui_listview01.adpater;  
02.  
03.  
04.import android.content.Context;  
05.import android.view.LayoutInflater;  
06.import android.view.View;  
07.import android.view.ViewGroup;  
08.import android.widget.ArrayAdapter;  
09.import android.widget.ImageView;  
10.import android.widget.TextView;  
11.  
12.  
13.import com.example.ui_listview01.R;  
14.import com.example.ui_listview01.model.Fruit;  
15.  
16.  
17.//我们新增了一个内部类ViewHolder,用于对控件的实例进行缓存。   
18.//当convertView为空的时候,创建一个ViewHolder对象,并将控件的实例都存放在ViewHolder里,然后调用View的setTag()方法,将ViewHolder对象存储在View中。   
19.//当convertView不为空的时候则调用View的getTag()方法,把ViewHolder重新取出。   
20.//这样所有控件的实例都缓存在了ViewHolder里,就没有必要每次都通过findViewById()方法来获取控件实例了。   
21.public class FruitAdapterImprove2 extends ArrayAdapter {  
22.  
23.  
24.private int resourceId;  
25.  
26.  
27.public FruitAdapterImprove2(Context context, int textViewResourceId) {  
28.super(context, textViewResourceId);  
29.resourceId = textViewResourceId;  
30.}  
31.  
32.  
33.// 这个方法在每个子项被滚动到屏幕内的时候会被调用   
34.// getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用   
35.@Override  
36.public View getView(int position, View convertView, ViewGroup parent) {  
37.Fruit fruit = (Fruit) getItem(position);  
38.View view = null;  
39.ViewHolder viewHolder;  
40.if (convertView == null) {  
41.view = LayoutInflater.from(getContext()).inflate(resourceId, null);  
42.viewHolder = new ViewHolder();  
43.viewHolder.ivFruit = (ImageView) view.findViewById(R.id.ivFruit);  
44.viewHolder.tvFruit = (TextView) view.findViewById(R.id.tvFruit);  
45.view.setTag(viewHolder);  
46.} else {  
47.view = convertView;  
48.viewHolder = (ViewHolder) convertView.getTag();  
49.}  
50.viewHolder.ivFruit.setImageResource(fruit.getImageId());  
51.viewHolder.tvFruit.setText(fruit.getName());  
52.return view;  
53.}  
54.  
55.  
56.class ViewHolder {  
57.  
58.  
59.ImageView ivFruit;  
60.  
61.  
62.TextView tvFruit;  
63.  
64.  
65.}  
66.  
67.  
68.}  
package com.example.ui_listview01.adpater;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;


import com.example.ui_listview01.R;
import com.example.ui_listview01.model.Fruit;


//我们新增了一个内部类ViewHolder,用于对控件的实例进行缓存。
//当convertView为空的时候,创建一个ViewHolder对象,并将控件的实例都存放在ViewHolder里,然后调用View的setTag()方法,将ViewHolder对象存储在View中。
//当convertView不为空的时候则调用View的getTag()方法,把ViewHolder重新取出。
//这样所有控件的实例都缓存在了ViewHolder里,就没有必要每次都通过findViewById()方法来获取控件实例了。
public class FruitAdapterImprove2 extends ArrayAdapter {


private int resourceId;


public FruitAdapterImprove2(Context context, int textViewResourceId) {
super(context, textViewResourceId);
resourceId = textViewResourceId;
}


// 这个方法在每个子项被滚动到屏幕内的时候会被调用
// getView()方法中还有一个convertView参数,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Fruit fruit = (Fruit) getItem(position);
View view = null;
ViewHolder viewHolder;
if (convertView == null) {
view = LayoutInflater.from(getContext()).inflate(resourceId, null);
viewHolder = new ViewHolder();
viewHolder.ivFruit = (ImageView) view.findViewById(R.id.ivFruit);
viewHolder.tvFruit = (TextView) view.findViewById(R.id.tvFruit);
view.setTag(viewHolder);
} else {
view = convertView;
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.ivFruit.setImageResource(fruit.getImageId());
viewHolder.tvFruit.setText(fruit.getName());
return view;
}


class ViewHolder {


ImageView ivFruit;


TextView tvFruit;


}


}


Fruit.java

[java] view plaincopyprint?
01.package com.example.ui_listview01.model;  
02.  
03.  
04.public class Fruit {  
05.private String name;  
06.private int imageId;  
07.private String text;  
08.private String time;  
09.public Fruit(String name, int imageId, String text, String time) {  
10.super();  
11.this.name = name;  
12.this.imageId = imageId;  
13.this.text = text;  
14.this.time = time;  
15.}  
16.public String getName() {  
17.return name;  
18.}  
19.public void setName(String name) {  
20.this.name = name;  
21.}  
22.public int getImageId() {  
23.return imageId;  
24.}  
25.public void setImageId(int imageId) {  
26.this.imageId = imageId;  
27.}  
28.public String getText() {  
29.return text;  
30.}  
31.public void setText(String text) {  
32.this.text = text;  
33.}  
34.public String getTime() {  
35.return time;  
36.}  
37.public void setTime(String time) {  
38.this.time = time;  
39.}  
40.  
41.  
42.  
43.  
44.  
45.  
46.  
47.}  
package com.example.ui_listview01.model;


public class Fruit {
private String name;
private int imageId;
private String text;
private String time;
public Fruit(String name, int imageId, String text, String time) {
super();
this.name = name;
this.imageId = imageId;
this.text = text;
this.time = time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}







}


fruit_item.xml

[html] view plaincopyprint?
01.<?xml version="1.0" encoding="utf-8"?>  
02.<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
03.    android:layout_width="match_parent"  
04.    android:layout_height="wrap_content"  
05.    android:orientation="horizontal" >  
06.  
07.  
08.    <ImageView  
09.        android:id="@+id/ivFruit"  
10.        android:layout_width="wrap_content"  
11.        android:layout_height="wrap_content"  
12.        android:src="@drawable/p1" />  
13.  
14.  
15.    <TextView  
16.        android:id="@+id/tvFruit"  
17.        android:layout_width="wrap_content"  
18.        android:layout_height="wrap_content"  
19.        android:layout_margin="10dp"  
20.        android:layout_marginLeft="27dp"  
21.        android:layout_toRightOf="@+id/ivFruit"  
22.        android:text="Apple" />  
23.  
24.  
25.    <TextView  
26.        android:id="@+id/textView"  
27.        android:layout_width="wrap_content"  
28.        android:layout_height="wrap_content"  
29.        android:layout_alignLeft="@+id/tvFruit"  
30.        android:layout_below="@+id/tvFruit"  
31.        android:layout_marginLeft="21dp"  
32.        android:text="今天真高兴" />  
33.  
34.  
35.    <TextView  
36.        android:id="@+id/textView2"  
37.        android:layout_width="wrap_content"  
38.        android:layout_height="wrap_content"  
39.        android:layout_alignBaseline="@+id/tvFruit"  
40.        android:layout_alignBottom="@+id/tvFruit"  
41.        android:layout_alignParentRight="true"  
42.        android:layout_marginRight="16dp"  
43.        android:text="TextView" />  
44.  
45.  
46.</RelativeLayout>  
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/ivFruit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/p1" />


    <TextView
        android:id="@+id/tvFruit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_marginLeft="27dp"
        android:layout_toRightOf="@+id/ivFruit"
        android:text="Apple" />


    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tvFruit"
        android:layout_below="@+id/tvFruit"
        android:layout_marginLeft="21dp"
        android:text="今天真高兴" />


    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/tvFruit"
        android:layout_alignBottom="@+id/tvFruit"
        android:layout_alignParentRight="true"
        android:layout_marginRight="16dp"
        android:text="TextView" />


</RelativeLayout>


activity_main.xml

[html] view plaincopyprint?
01.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
02.    xmlns:tools="http://schemas.android.com/tools"  
03.    android:id="@+id/LinearLayout1"  
04.    android:layout_width="match_parent"  
05.    android:layout_height="match_parent"  
06.    android:orientation="vertical"  
07.    tools:context=".MainActivity" >  
08.  
09.  
10.    <ListView  
11.        android:id="@+id/lvFruits"  
12.        android:layout_width="match_parent"  
13.        android:layout_height="wrap_content" >  
14.    </ListView>  
15.  
16.  
17.</LinearLayout>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >


    <ListView
        android:id="@+id/lvFruits"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>


</LinearLayout>


 

AndroidManifest.xml

[html] view plaincopyprint?
01.<?xml version="1.0" encoding="utf-8"?>  
02.<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
03.    package="com.example.ui_listview01"  
04.    android:versionCode="1"  
05.    android:versionName="1.0" >  
06.      
07.  
08.  
09.    <uses-sdk  
10.        android:minSdkVersion="8"  
11.        android:targetSdkVersion="17" />  
12.  
13.  
14.    <application  
15.        android:allowBackup="true"  
16.        android:icon="@drawable/ic_launcher"  
17.        android:label="@string/app_name"  
18.        android:theme="@style/myTheme" >  
19.        <activity  
20.            android:name="com.example.ui_listview01.MainActivity"  
21.            android:label="@string/app_name" >  
22.            <intent-filter>  
23.                <action android:name="android.intent.action.MAIN" />  
24.  
25.  
26.                <category android:name="android.intent.category.LAUNCHER" />  
27.            </intent-filter>  
28.        </activity>  
29.    </application>  
30.  
31.  
32.</manifest>  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值