2012-05-26 5 views
0

sqlite db의 데이터를 표시하고 있습니다. 데이터베이스의 데이터는 html로 저장됩니다. 데이터에는 이미지를 표시하는 이미지 태그가 포함되어 있습니다. 데이터를 표시 할 수는 있지만 어떻게 이미지를 표시 할 수 있습니까? 내 이미지는 서버에 저장됩니다.android의 textview에 html 태그 적용

내 코드 : 나는 데이터베이스에서 데이터를 표시하고 위의 줄에서

((TextView)view.findViewById(R.id.tv_text)).setText(Html.fromHtml(listItem.gettext()+"")); 

. 이제는 서버에있는 이미지를 표시해야합니다. 어떻게해야합니까?

+0

이 (http://stackoverflow.com/a/1992955/940096) – Praveenkumar

+0

http://blog.stylingandroid.com/archives/177# –

+0

여기를 참조 [이 한 번 확인] 도움이되기를 바랍니다 : HTTP : //stackoverflow.com/questions/2865452/is-it-possible-to-display-inline-images-from-html-in-an-android-textview –

답변

0

내 코드를 사용해보세요. 이

TextView mDetail; 
ProgressBar mProgressBar; 
String body; 
Handler handler; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.act_recipe_detail); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 

    if (this.getIntent().getStringExtra("body") != null) 
     body = this.getIntent().getStringExtra("body"); 

    mDetail = (TextView) this.findViewById(R.id.tv_recipe_detail); 

    if (this.getIntent().getStringExtra("body") != null) 
     body = this.getIntent().getStringExtra("body"); 

    mDetail.setText(Html.fromHtml(body)); 

    mProgressBar = (ProgressBar) this.findViewById(R.id.bar); 
    mDetail.setMovementMethod(ScrollingMovementMethod.getInstance());// 皛 
    handler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) { 
      // TODO Auto-generated method stub 
      if (msg.what == 0x101) { 
       mProgressBar.setVisibility(View.GONE); 
       mDetail.setText((CharSequence) msg.obj); 
      } 
      super.handleMessage(msg); 
     } 
    }; 
    Thread t = new Thread(new ImageTask()); 
    t.start(); 
    mProgressBar.setVisibility(View.VISIBLE); 

} 
class ImageTask implements Runnable { 
    Message msg = Message.obtain(); 

    @Override 
    public void run() { 

     ImageGetter imageGetter = new ImageGetter() { 
      @Override 
      public Drawable getDrawable(String source) { 
       // TODO Auto-generated method stub 
       URL url; 
       Drawable drawable = null; 
       try { 
        url = new URL(source); 
        drawable = Drawable.createFromStream(
          url.openStream(), null); 

        int scale_y = MAX_HEIGHT/drawable.getIntrinsicHeight(); 
        drawable.setBounds(0, 0, 
          drawable.getIntrinsicWidth()*scale_y, 
          drawable.getIntrinsicHeight()*scale_y); 

       } catch (MalformedURLException e) { 
        Log.e(TAG, "MalformedURLException" + e.toString()); 
       } catch (IOException e) { 
        Log.e(TAG, "IOException" + e.toString()); 
       } 
       return drawable; 
      } 
     }; 
     CharSequence test = Html.fromHtml(body, imageGetter, null); 
     msg.what = 0x101; 
     msg.obj = test; 
     handler.sendMessage(msg); 
    } 
}