布局
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView">
</ListView>
</RelativeLayout>
子项
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"/>
</LinearLayout>
活动
package com.test;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
class Shitilei{
int ButtonId;
String textViewString;
public Shitilei(int buttonId, String textViewString) {
ButtonId = buttonId;
this.textViewString = textViewString;
}
public String getTextViewString(){return textViewString;}
}
class ShipeiqiAdapter extends ArrayAdapter<Shitilei>{
int resource;
public ShipeiqiAdapter(Context context,int textViewResourceId, List objects) {
super(context,textViewResourceId, objects);
resource=textViewResourceId;
}
class Neibulei{
Button button;
TextView textView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Shitilei shitilei=getItem(position);
View view;Neibulei neibulei;
if (convertView==null){
view= LayoutInflater.from(getContext()).inflate(resource,null);//参数
neibulei=new Neibulei();
neibulei.button=(Button)view.findViewById(R.id.button);//赋值
neibulei.textView=(TextView)view.findViewById(R.id.textView);
view.setTag(neibulei);
}else {
view=convertView;
neibulei=(Neibulei)view.getTag();
}
neibulei.textView.setText(shitilei.getTextViewString());
neibulei.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context=MainActivity.this;
String string=shitilei.getTextViewString();
int time=Toast.LENGTH_SHORT;
Toast.makeText(context,string,time).show();
}
});
return view;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Shitilei> shitileiList=new ArrayList<Shitilei>();
Shitilei shitilei1=new Shitilei(R.id.button,"101");
shitileiList.add(shitilei1);
Shitilei shitilei2=new Shitilei(R.id.button,"102");
shitileiList.add(shitilei2);
ShipeiqiAdapter shipeiqiAdapter=
new ShipeiqiAdapter(MainActivity.this,R.layout.item,shitileiList);
ListView listView=(ListView)findViewById(R.id.listView);
listView.setAdapter(shipeiqiAdapter);
}
}