0
私はカスタムアダプターによって入力されているスピナーを持っています。スピナーが商品のリストを表示していません
カスタムアダプタ内のすべてのTextViewをログアウトし、そのテキストがその位置にあるかどうかを確認できます。
位置0 TEXT ATテキストVIEW:DEF会社
POSITION 2 TEXTのテキストVIEW:GHI社
3位にあるテキストVIEW POSITION 1 TEXT AT ABC社
テキストVIEW MNO会社
T:TEXT:POSITION 4 TEXT AT JKL会社
TEXTのVIEWポジション5でのEXT VIEW:PQR Company
私はデータを渡すことが問題ではないことを知っています。
Spinnerが選択されている場合、アプリでは空白になります。
誰かが間違っているのを見てください。カスタムアダプタが使用
public class MyActivity extends AppCompatActivity {
private Spinner spinnerCompanies;
private ArrayList<HashMap> arrayOfCompanies;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_call);
spinnerCompanies = (Spinner) findViewById(R.id.spCompany);
//do background task and pass JSONArray to processCompanies
processCompanies(jsonArray);
}
public void processCompanies(JSONArray jsonArray){
arrayOfCompanies = new ArrayList<HashMap>();
HashMap company;
JSONObject record;
for (int i = 0; i < jsonArray.length(); i++) {
record = jsonArray.getJSONObject(i);
company = new HashMap<String, String>();
company.put("NAME", record.getString("CompanyName"));
arrayOfCompanies.add(company);
}
CompanyAdapter companyAdapter = new CompanyAdapter(arrayOfCompanies);
spinnerCompanies.setAdapter(companyAdapter);
spinnerCompanies.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
didSelectCompany(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void didSelectCompany(int position){
Log.i(TAG, "didSelectCompany: " + position);
}
public class CompanyAdapter extends BaseAdapter {
private final ArrayList<HashMap> mArrayList;
public CompanyAdapter(ArrayList<HashMap> map) {
mArrayList = map;
}
@Override
public int getCount() {
return mArrayList.size();
}
@Override
public HashMap<String, String> getItem(int position) {
return mArrayList.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.item_company, parent, false);
}
HashMap<String, String> item = getItem(position);
TextView textView = (TextView) convertView.findViewById(R.id.tvSubTermainalName);
textView.setText(item.get("NAME"));
Log.d(TAG, "TEXT VIEW AT POSITION " + position + " TEXT: " + textView.getText());
return convertView;
}
}
}
R.layout.item_companyのXML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tvSubTermainalName"/>
</LinearLayout>
1;' 'getItemId' –
に –
ログ' Log.i(TAG、「didSelectCompanyない@PavneetSingh動作しなかったこと: ''今onItemSelected'ので働いていますコードは単にログを表示しています –