2016-10-27 41 views
0

我因此失去了很多时间,我需要将图像放在片段内的listView中,但怎么做呢?ListView如何在片段中?

public class First_fragment extends Fragment { 


public View onCreateView(LayoutInflater inflater, 
         @Nullable ViewGroup container, 
         @Nullable Bundle savedInstanceState) { 

    View v = inflater.inflate(R.layout.activity_profesorado,container,false); 

    ListView listView = (ListView) v.findViewById(R.id.mymenu); 

    ArrayAdapter<String> listViewAdapter = new ArrayAdapter<String> (getActivity(),android.R.layout.simple_list_item_1, menuItems; 

    listView.setAdapter(listViewAdapter); 


    return v; 

我有10个图像,但我需要创建一个listview与他们。我不知道。我知道文字,但在这种情况下,我没有任何想法。任何示例?

+2

Yo你需要为此创建**自定义适配器和自定义布局**。不使用默认适配器 –

+0

Ho可以使用自定义适配器吗?我如何实现它?我对此很乐观,我一直在调查这一整天,所有这些我都非常生气和悲伤。你能和我开什么聊吗?请。 –

+0

在Youtube上编写“custom adapter listview android”,你会发现教程。 –

回答

0

您需要将在列表视图中添加的行自定义适配器,,和自定义布局..

0

使用CustomAdapter

CustomAdapter listViewAdapter = new CustomAdapter(getActivity(), arrImages); 

CustomAdapter.java

public class CustomAdapter extends BaseAdapter{ 
    Context context; 
int [] imageId; 
     private LayoutInflater inflater=null; 
    public CustomAdapter(MainActivity mainActivity, int[] prgmImages) { 
     context=mainActivity; 
     imageId=prgmImages; 
     inflater = (LayoutInflater)context. 
       getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 
    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return imageId.length; 
    } 

    @Override 
    public Object getItem(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    public class Holder 
    { 
     ImageView img; 
    } 
    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     Holder holder=new Holder(); 
     View rowView;  
      rowView = inflater.inflate(R.layout.program_list, null); 
      holder.img=(ImageView) rowView.findViewById(R.id.imageView1);  
     holder.img.setImageResource(imageId[position]);   
     rowView.setOnClickListener(new OnClickListener() {    
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Toast.makeText(context, "You Clicked "+result[position], Toast.LENGTH_LONG).show(); 
      } 
     }); 
     return rowView; 
    } 

} 

program_list .xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_gravity="center" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout>