2016-12-08 3 views
0

私は新しいプログラミングアンドロイドです。配列を持たないコンストラクタ配列アダプタを使用したいですが、そうしないと結果が得られません。配列を持たないコンストラクタ配列アダプタにデータを挿入するandriod studioのパラメータ

私は使用します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); 
} 
+0

ここにいくつかのコードを投稿してください –

+0

あなたはリストに文字列を設定したいと思います。文字列を渡す – Vinodh

+0

私は編集投稿@Divyeshだ –

答えて

0

あなたは文字列の配列を作成し、それをコンストラクタでこのような何かを渡すことができます。

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