只能显示单一的文本
构造方法:ArrayAdapter(Context context,int resource,int textviewId,List <T> objects)
这里的二参必须是Textview为根布局
package com.example.adapte;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
String []items={"jva","Html","xml","Android","javaScript"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter adapter=new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line,items);
//setAdapter()参数一适配器对象 (数据显示样式的规则制定器) 参数二监听器
//AlertDialog.Builder builder=new AlertDialog.Builder(this).setAdapter(new ArrayAdapter<>(),null);
AlertDialog.Builder builder=new AlertDialog.Builder(this)
.setTitle("zhenhao")
.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
switch (i){
case 0:
Toast.makeText(MainActivity.this, "java", Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(MainActivity.this, "Html", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(MainActivity.this, "xml", Toast.LENGTH_SHORT).show();
break;
}
}
});
builder.show();
}
}
若要完成有图的
需要一个布局里面有图,有<TextView>
只需在创建adapter时
ArrayAdapter adapter= new ArrayAdapter(this, R.layout.array_item_layout,R.id.item_text,items); 二参是布局文件,三参是布局文件中的textview