将数据插入Andriod Studio中没有数组参数的构造函数阵列适配器



我是一个新的编程Android,我想使用无数组参数的构造函数阵列适配器,但是如果它不给出结果。

我想在构造器数组适配器中使用TextView参数。

此代码有效:

public class coustemtest extends ArrayAdapter {
String x;
int resours;
String [] cu;
public coustemtest(Context context, int resource, String[]z) {
    super(context, resource, z);
    resours=resource;
    cu=z;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater layoutInflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView=layoutInflater.inflate(resours,parent,false);
    TextView textView=(TextView)convertView.findViewById(R.id.textView);
    textView.setText(cu[position]);
    return convertView;
}
}

public class MainActivity extends AppCompatActivity {
EditText editText;
ListView listView;
coustemtest co;
List<String> list;
String [] x ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText=(EditText)findViewById(R.id.editText);
    listView=(ListView)findViewById(R.id.hi);
    list=new ArrayList<String>();
    x=new String[]{"mohmmod amed ","yes man ","no women "};
}
public void add(View view) {
    String y=editText.getText().toString();
    list.add(y);
    co=new coustemtest(this,R.layout.coustem2,yz());
    listView.setAdapter(co);
}
public String[] yz()
{
    String [] hussen = new String[list.size()];
 for (int z=0;z<list.size();z++){
     hussen[z]=list.get(z);}
    return hussen;
}
}

此代码不起作用:

public class coustemtest extends ArrayAdapter {
String x;
int resours;
String [] cu;
public coustemtest(Context context, int resource, String y) {
    super(context, resource);
    resours=resource;
   x=y;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater layoutInflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView=layoutInflater.inflate(resours,parent,false);
    TextView textView=(TextView)convertView.findViewById(R.id.textView);
    textView.setText(x);
    return convertView;
}
}
 public class MainActivity extends AppCompatActivity {
EditText editText;
ListView listView;
coustemtest co;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText=(EditText)findViewById(R.id.editText);
    listView=(ListView)findViewById(R.id.hi);

}
public void add(View view) {
    String y=editText.getText().toString();
    co=new coustemtest(this,R.layout.coustem2,y);
    listView.setAdapter(co);
}

您可以创建一个字符串数组并在构造函数中传递类似的内容。

String[] items = "assign some data here"
ArrayAdapter<String> itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);

最新更新