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> 
+0

1;' 'getItemId' –

+0

に –

+0

ログ' Log.i(TAG、「didSelectCompanyない@PavneetSingh動作しなかったこと: ''今onItemSelected'ので働いていますコードは単にログを表示しています –

答えて

0

あなたは一部に

if(convertView==null) 

を削除しようとすると、常にビューを膨らまてみましたか?

問題は、 `復帰位置を使用することができ
関連する問題