2014-09-19 54 views
0

我想上解释一切很清楚,如标题所说,我怎么能下一个插入图标的每一行,但图像不是从绘制拍摄,而是由URL增加对ListView中的每一行的图标到抽屉

我知道要实现与绘制这一任务,但我不能就如何处理像一个URL像这样做搞清楚:

URL url = new URL(stringURL); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setDoInput(true); 
connection.connect(); 
InputStream input = connection.getInputStream(); 
overlay = BitmapFactory.decodeStream(input); 
connection.disconnect(); 

所以这是一个bitMap,而不是绘制如。 (.png,.jpg ...),

我的活动:

public class MainActivity extends Activity { 
private DrawerLayout mDrawerLayout; 
private ListView mDrawerList; 
private ListView mDrawerListR; 
private ActionBarDrawerToggle mDrawerToggle; 
private LinearLayout rightDrawerLinearLayout; 
private String[] drawerItems; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    drawerItems = getResources().getStringArray(R.array.array); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.left_drawer); 
    mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); 
    mDrawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_item, drawerItems)); 
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 
    rightDrawerLinearLayout = (LinearLayout) findViewById(R.id.right_drawer_ll); 
    mDrawerListR = (ListView) findViewById(R.id.right_drawer); 
    mDrawerListR.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_item, drawerItems)); 
    mDrawerListR.setOnItemClickListener(new DrawerItemClickListener()); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
    getActionBar().setHomeButtonEnabled(true); 
    SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1); 
    seekBar.setOnTouchListener(this); 
    mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open,R.string.drawer_close); 
    mDrawerLayout.setDrawerListener(mDrawerToggle); 
} 
[...] 

activity_main.xml中

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <FrameLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    </FrameLayout> 

    <ListView 
     android:id="@+id/left_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="#123456" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" /> 

    <LinearLayout 
     android:id="@+id/right_drawer_ll" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="right" 
     android:background="#123456" 
     android:orientation="vertical" 
     android:visibility="visible" > 

     <SeekBar 
      android:id="@+id/seekBar1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="14dp" 
      android:layout_marginLeft="8dp" 
      android:layout_marginRight="10dp" 
      android:max="5" 
      android:progress="0" /> 

     <ListView 
      android:id="@+id/right_drawer" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="right" 
      android:background="#123456" 
      android:choiceMode="singleChoice" 
      android:divider="@android:color/transparent" 
      android:dividerHeight="0dp" /> 
    </LinearLayout> 

</android.support.v4.widget.DrawerLayout> 

drawer_list_item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?android:attr/activatedBackgroundIndicator" 
    android:gravity="center_vertical" 
    android:minHeight="?android:attr/listPreferredItemHeightSmall" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" 
    android:textAppearance="?android:attr/textAppearanceListItemSmall" 
    android:textColor="#fff" /> 

感谢您的帮助。

回答

1

如果你想从一个URL加载图像,你可以使用图书馆像...

https://github.com/nostra13/Android-Universal-Image-Loader

您可以直接加载图像异步通过适配器..

+0

我知道如何从URL下载图像,我不明白如何将它们链接到抽屉中。 – 2014-09-19 16:12:06

+1

你需要创建一个自定义的适配器,并在那里异步下载图像..更多信息here..http://stackoverflow.com/questions/8166497/custom-adapter-for-list-view – Sharath 2014-09-21 02:16:59