一共要xml文件二个,item.xml, activity_main.xml
class类三个, fruit, fruitAdapter, mainactivity
item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/fruit_image"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/fruit_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/item_button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
/>
<Button
android:id="@+id/item_button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"
/>
<Button
android:id="@+id/item_button_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="修改"
/>
</LinearLayout>
mainlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="123456"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
/>
<Button
android:id="@+id/button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"
/>
<Button
android:id="@+id/button_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
/>
<Button
android:id="@+id/button_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
/>
</LinearLayout>
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
fruit.class
package com.chat.test_okhttp;
/**
* @Description: java类作用描述
* @Author: 唐朝
* @UpdateUser: 更新者
* @UpdateRemark: 更新说明
* @Version: 1.0
* 日期:2020/2/9$
*/
public class fruit {
private String name;
private int imageId;
public fruit(String name, int imageId){
this.name = name;
this.imageId = imageId;
}
public String getName() {
return name;
}
public int getImageId() {
return imageId;
}
public void setName(String name) {
this.name = name;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
}
mainactivity.xml
package com.chat.test_okhttp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private ListView listView;
private EditText editText;
private Button button_1;
private Button button_2;
private Button button_3;
private Button button_4;
private List<fruit> dataList = new ArrayList<>();
public FruitAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
listView = (ListView) findViewById(R.id.list_view);
initDataList();
adapter = new FruitAdapter(MainActivity.this, dataList);
listView.setAdapter(adapter);
}
private void initView(){
editText = (EditText) findViewById(R.id.editText);
button_1 = (Button) findViewById(R.id.button_1);
button_2 = (Button) findViewById(R.id.button_2);
button_3 = (Button) findViewById(R.id.button_3);
button_4 = (Button) findViewById(R.id.button_4);
button_1.setOnClickListener(this);
button_2.setOnClickListener(this);
button_3.setOnClickListener(this);
button_4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button_1:
fruit fruit_1 = new fruit("forget_add" + dataList.size(), R.drawable.ic_launcher_background);
dataList.add(fruit_1);
adapter.notifyDataSetChanged();
break;
case R.id.button_2:
break;
case R.id.button_3:
break;
case R.id.button_4:
break;
default:
break;
}
}
private void deleteButton(int position){
dataList.remove(position);
}
private void initDataList(){
for(int i=0; i<10; ++i){
fruit temp = new fruit( "abc_" + i, R.drawable.ic_launcher_background);
dataList.add(temp);
}
};
}
FruitAdapter
package com.chat.test_okhttp;
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.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.lang.annotation.Retention;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.List;
/**
* @Description: java类作用描述
* @Author: 唐朝
* @UpdateUser: 更新者
* @UpdateRemark: 更新说明
* @Version: 1.0
* 日期:2020/2/9$
*/
public class FruitAdapter extends BaseAdapter{
private Context mContext;
private List<fruit> fruitList;
private LayoutInflater inflater;
public FruitAdapter(Context context, List<fruit> fruitList){
this.mContext = context;
this.fruitList = fruitList;
this.inflater = LayoutInflater.from(context);
}
@Override
public int getCount(){
return fruitList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = inflater.inflate(R.layout.item, null);
ImageView imageView = (ImageView) view.findViewById(R.id.fruit_image);
TextView textView = (TextView) view.findViewById(R.id.fruit_name);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mContext, fruitList.get(position).getName(), Toast.LENGTH_SHORT).show();
}
});
Button button_1 = (Button) view.findViewById(R.id.item_button_1);
button_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addButtonAction(fruitList.size());
}
});
Button button_2 = (Button) view.findViewById(R.id.item_button_2);
button_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
deleteButtonAction(position);
}
});
Button button_3 = (Button) view.findViewById(R.id.item_button_3);
button_3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
updateButtonAction(position);
}
});
fruit fruit_1 = fruitList.get(position);
imageView.setImageResource(fruit_1.getImageId());
textView.setText(fruit_1.getName());
return view;
}
private void addButtonAction(int position){
fruit fruit_1 = new fruit("add_" + fruitList.size(), R.drawable.ic_launcher_background);
fruitList.add(position, fruit_1);
notifyDataSetChanged();
}
private void deleteButtonAction(int position){
fruitList.remove(position);
notifyDataSetChanged();
}
private void updateButtonAction(int position){
fruit fruit_1 = fruitList.get(position);
fruit_1.setName("update_" + position);
fruitList.set(position, fruit_1);
notifyDataSetChanged();
}
}