2017-03-17 2 views
0
public class UserlistActivity extends AppCompatActivity { 

    static ListView userlist; 
    static String[] users; 
    ImageView user; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_userlist); 
     setIDs(); 
     Bitmap userphoto = null; 
     try { 
      userphoto = getBitmapFromAsset("user dashboard.png"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     new Gate(this, "USERLIST").execute(); 
     String mDrawableName = "user dashboard"; 
     int resID = getResources().getIdentifier(mDrawableName , "assets", getPackageName()); 
     user.setImageResource(resID); 
     user.setImageBitmap(userphoto); 
    } 

    private Bitmap getBitmapFromAsset(String strName) throws IOException 
    { 
     AssetManager assetManager = getAssets(); 
     InputStream istr = assetManager.open(strName); 
     Bitmap bitmap = BitmapFactory.decodeStream(istr); 
     return bitmap; 
    } 

    private void setIDs() { 
     userlist = (ListView) findViewById(R.id.userlist); 
     View inflatedView = getLayoutInflater().inflate(R.layout.userlist_list_item, null); 
     user = (ImageView) inflatedView.findViewById(R.id.user); 
    } 

    static void fillData(Context context) { 
     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(context, R.layout.userlist_list_item, R.id.listtext, users); 
     userlist.setAdapter(arrayAdapter); 
    } 

여기서는 (다른 액티비티에서 잘 작동하고있는) getbitmap을 시도하고 어댑터에 전달하는 목록 항목 사용자 정의 레이아웃의 일부인 이미지보기에 첨부합니다. 그러나 어디에 있는지 문제 이미지가 표시되지 않습니다내 imageview가 비트 맵을 가져 와서 표시하지 않는 이유는 무엇입니까?

편집 :

내가 그렇게 드로어 블을 사진의 다른 사본을 추가 나는 소스를 추가하고

+0

당신은 어떤 예외를 잡을 않았다

LinearLayout parent = (LinearLayout)findViewById(R.id.parent_layout); View inflatedView = getLayoutInflater().inflate(R.layout.userlist_list_item, null); user = (ImageView) inflatedView.findViewById(R.id.user); parent.addView(inflatedView); 

는 다음 방법을 사용? – rafsanahmad007

+0

에 자산에 하위 폴더가 없습니까? –

+0

미쳐야 할 예외 나 하위 폴더가 없음 –

답변

1

내가 생각하는 노력을 건너 뛸 수 있습니다하여 고정 inflatedView을에 추가하는 것을 잊었습니다.보기

사용이 코드 :

private Bitmap getBitmapFromAsset(String strName) 
{ 
    AssetManager assetManager = getAssets(); 
    InputStream istr = null; 
    try { 
     istr = assetManager.open(strName); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    Bitmap bitmap = BitmapFactory.decodeStream(istr); 
    return bitmap; 
} 
+0

미안하지만 어떻게 부모 레이아웃의 ID를 얻을 수 있습니까? –

+0

'activity_userlist'의 상위 레이아웃입니다 ... – rafsanahmad007

+0

보기를 추가하려는 경우 목록 위에 이미지가 추가되지만 해당 위치에 이미지가 없습니다 (각 목록 행의 이미지) –

관련 문제