2017-10-27 8 views
-2

私は自分のアプリでリストビューを使用しています。私は挿入した章のリストを取得したかったのですが、リストビューの要素は最後まで繰り返されていました。しかし、私はそれをリストアップしたアイテムを手に入れませんでした。ここでリストビューで要素の複製を停止する方法は?

は、私は私のchapterAdapter.javaphysics.java

chapterAdapter.java

public class chapterAdapter extends BaseAdapter { 

    private Context context; 
    private ArrayList<model1> models; 

    public chapterAdapter(Context context, ArrayList<model1> models) { 
     this.context = context; 
     this.models = models; 
    } 

    @Override 
    public int getCount() { 
     return models.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return models.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if(convertView ==null){ 
      convertView = View.inflate(context, R.layout.chapters_view,null); 
      ImageView images = convertView.findViewById(R.id.chapterImage); 
      TextView title = convertView.findViewById(R.id.chapterTitle); 
      model1 model1 = models.get(position); 
      images.setImageResource(model1.getChapterImage()); 
      title.setText(model1.getChapterTitle()); 
     } 
     return convertView; 
    } 
} 

physics.java

で使用されるコードであります
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_physics); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    listView1 = (ListView)findViewById(R.id.chapters_list_view); 
    models = chapter_list_details.getList(); 

    chapterAdapter = new chapterAdapter(physics.this,models); 
    listView1.setAdapter(chapterAdapter); 

    listView1.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 

      switch(position) 
      { 
       case 0: 
        Intent newActivity = new Intent(physics.this, physics.class); 
        startActivity(newActivity); 
        break; 
       case 1: 
        Intent toy = new Intent(physics.this, ModelQuestions.class); 
        startActivity(toy); 
        break; 
       case 2: 
        Intent intent = new Intent(physics.this, chemistry.class); 
        startActivity(intent); 
        break; 
      } 
     } 
    }); 
} 
+0

(convertView == null)の条件、それは働いた – Munir

答えて

2

は条件に削除してみてください

if(convertView==null)

+0

感謝....おかげで再び – mezohn

+0

が答えをupvoteしてください場合は削除します – Aditi

関連する問題