这是5.28上课所讲内容
1.MyRecyclerAdapter代码
package com.example.myapplication; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import java.util.List; public class MyRecyclerAdapter extends RecyclerView.Adapter { List<TheItems> list; public MyRecyclerAdapter(List<TheItems> list){ this.list=list; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.lv_layout,null,false); ViewHolder viewHolder=new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { ViewHolder viewHolder=(ViewHolder) holder; viewHolder.checkBox.setText(list.get(position).chkName); viewHolder.txtPrice.setText(list.get(position).txtPrice); viewHolder.imageView.setImageResource(list.get(position).img); } @Override public int getItemCount() { return list.size(); } class ViewHolder extends RecyclerView.ViewHolder{ CheckBox checkBox; TextView txtPrice; ImageView imageView; public ViewHolder(@NonNull View itemView) { super(itemView); this.checkBox=itemView.findViewById(R.id.checkBox); this.txtPrice=itemView.findViewById(R.id.txtPrice); this.imageView=itemView.findViewById(R.id.imageView); } } }
2.MainActivity3代码:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.util.MonthDisplayHelper; import android.view.View; import android.widget.Button; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.charset.StandardCharsets; public class MainActivity3 extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); Button button2=findViewById(R.id.button2); Button button3=findViewById(R.id.button3); button2.setOnClickListener(this); button3.setOnClickListener(this); } @Override public void onClick(View view) { FileOutputStream fileOutputStream=null; switch (view.getId()){ case R.id.button2: try{ fileOutputStream=openFileOutput("ziyuan.txt",MODE_PRIVATE); fileOutputStream.write("abcde".getBytes()); fileOutputStream.close(); } catch (Exception ex){ } finally { } break; case R.id.button3: String pass2=""; try { FileInputStream fileInputStream=openFileInput("ziyuan.txt"); byte[] b=new byte[1024]; int hasRead=0; StringBuilder s=new StringBuilder(); while((hasRead=fileInputStream.read(b))!=-1){ s.append(new String(b,0,hasRead)); } fileInputStream.close(); Log.d("info",s.toString()); } catch (Exception ex){ Log.d("info",ex.getMessage()); } break; } } }
3.TheAdapter代码:
package com.example.myapplication; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; import java.util.List; public class TheAdapter extends BaseAdapter { Context context; List<TheItems> list; public TheAdapter(Context context,List<TheItems> list){ this.context=context; this.list=list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder viewHolder; if(view==null){ view= View.inflate(context,R.layout.lv_layout,null); viewHolder=new ViewHolder(); viewHolder.checkBox=view.findViewById(R.id.checkBox); viewHolder.txtPrice=view.findViewById(R.id.txtPrice); viewHolder.image=view.findViewById(R.id.imageView); view.setTag(viewHolder); } else{ viewHolder=(ViewHolder)view.getTag(); } TheItems theItems=(TheItems) getItem(i); viewHolder.checkBox.setText(theItems.chkName); viewHolder.txtPrice.setText(theItems.txtPrice); viewHolder.image.setImageResource(theItems.img); return view; } class ViewHolder{ CheckBox checkBox; TextView txtPrice; ImageView image; } }
4.TheItems代码:
package com.example.myapplication; public class TheItems { String chkName; String txtPrice; int img; public TheItems(String chkName,String txtPrice,int img){ this.chkName=chkName; this.txtPrice=txtPrice; this.img=img; } }
5.Mainactivity代码:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView=findViewById(R.id.listView); List<TheItems> list=new ArrayList<TheItems>(); TheItems theItems=new TheItems("汉堡","20",R.drawable.hb); list.add(theItems); TheAdapter theAdapter=new TheAdapter(MainActivity.this,list); listView.setAdapter(theAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { } }); } }
6.AndroidManifest代码:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.MyApplication" tools:targetApi="31"> <activity android:name=".MainActivity3" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> <activity android:name=".MainActivity2" android:exported="true"> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> <activity android:name=".MainActivity" android:exported="true"> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> </application> </manifest>
以上是主要代码,下面是界面模式
1.main界面:
2.activity_main2界面:
activity_main3界面:
4. lv_layout界面