2012-12-30 1 views
-1

저는 안드로이드에 새로운 ... 내 안드로이드 프로젝트에 사용자 정의 글꼴을 갖고 싶습니다. 그래서 코드 base on this tutorials을 넣습니다. 나는 R.id.Headline에서 내 사용자 지정 글꼴을 사용하려면 일부 XML 요소간단한 어댑터 가져 오기 오류에서 사용자 정의 글꼴 사용 중 오류 란 무엇입니까?

내 질문은 : 내 코드에서 잘못된

가 결정됨 뭔가를?

- xml에서 맞춤형 UI를 만드는 자습서가 있습니까?

는 여기에 내가 몇 주 전에 같은 문제를 가지고 내 코드

import java.util.ArrayList; 
    import java.util.HashMap; 
    import java.util.concurrent.ExecutionException; 

    import android.app.ListActivity; 
    import android.content.Context; 
    import android.net.ConnectivityManager; 
    import android.net.NetworkInfo; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.view.Menu; 
    import android.view.MenuInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.ListAdapter; 
    import android.widget.ListView; 
    import android.widget.SimpleAdapter; 

    public class MainActivity extends ListActivity { 
     private static String url = "http:some url"; 
     private static final String TAG_HEADLINE = "headline"; 
     private static final String TAG_PROVIDER = "provider"; 
     private static final String TAG_TYPE = "deal_type"; 
     private static final String TAG_BLURB = "blurb"; 
     private static final String TAG_FEATURED = "featured"; 
     private static final String TAG_URL = "url"; 
     private static final String TAG_PRICE = "price"; 
     private static final String TAG_LOCATION = "location"; 
     private static final String TAG_IMAGE = "image"; 
     private static final String TAG_OFFER = "offer"; 
     private static final String TAG_THUMBNAIL = "thumbnail"; 
     private static final String TAG_FORMATED = "formatted"; 
     ArrayList<HashMap<String, String>> dealArrayList = new ArrayList<HashMap<String, String>>(); 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      MenuInflater inflater = getMenuInflater(); 
      inflater.inflate(R.menu.activity_main, menu); 
      return super.onCreateOptionsMenu(menu); 
     } 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 
      try { 
       ArrayList<HashMap<String, String>> deals = new NetraAsycn() 
         .execute(url).get(); 
       ListAdapter adapter = new SimpleAdapter(this, deals, 
         R.layout.list_item, new String[] { TAG_THUMBNAIL, 
           TAG_FORMATED, TAG_PROVIDER, TAG_LOCATION, 
           TAG_HEADLINE }, new int[] { R.id.thumbnail, 
           R.id.price, R.id.provider, R.id.location, 
           R.id.headline }); 
    Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf"); 
    TextView myTextView = (TextView)findViewById(R.id.headline); 
    myTextView.setTypeface(myTypeface); 

       setListAdapter(adapter); 
       ListView lv = getListView(); 
       lv.setDividerHeight(0); 

      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } catch (ExecutionException e) { 

       e.printStackTrace(); 
      } 

     } 


     public View getView(int position, View convertView, ViewGroup parent) { 
      View rowView = convertView; 
      if (rowView == null) { 
        LayoutInflater inflater = context.getLayoutInflater(); 
        rowView = inflater.inflate(R.layout.list_item, null); 
        ViewHolder viewHolder = new ViewHolder(); 
        viewHolder.text = (TextView) rowView.findViewById(R.id.TextView01); 
        viewHolder.image = (ImageView) rowView 
         .findViewById(R.id.ImageView01); 
        rowView.setTag(viewHolder); 
       } 
      return rowView; 
     } 
    } 
+0

질문은 실제로 _ "무엇이 오류입니까?"_ –

+0

logcat 게시 – mango

+0

PC에서 멀리, tommorow 게시됩니다 :) – Netra

답변

0

입니다. 나는이 "createFromAsset"메서드에서 디렉토리를 사용하는 것이 불가능하다고 생각합니다. 글꼴 파일을 상위 자산 디렉토리에 복사하십시오.

Typeface myTypeface = Typeface.createFromAsset(getAssets(), "myFont.ttf"); 

귀하의 logcat은 무엇입니까?

0

코드는 정상입니다. 같은 방식으로 사용자 정의 글꼴을 사용했습니다. 다음과 같이 :

Typeface typeFace = Typeface.createFromAsset(getAssets(),"fonts/LCALLIG.TTF");   
textView.setTypeface(typeFace); 

글꼴 이름이 올바른지 확인하고 자산 폴더에 제대로 복사되어 있는지 확인하십시오.
예인 경우 오류 또는 logcat을 표시하십시오.

관련 문제