을 얻는 방법 맥락에서 getview 와의 어댑터 listview
-
21-12-2019 - |
문제
세 가지 질문이 있는데요:
내가 사용하 getApplicationContext 과는 달리는 모든 예를 볼 수있는 단지 말 context.How do I get 컨텍스트요?거나 응용 프로그램 컨텍스트 fine?
가 어떤 성능에 대한 벌금 나에게 재정의하 getview 와 시키는 대신 그것은 그것을 처리해체(나는 그 일을 설정 글자)
거기에 아무것도 알고 있어야 하는 동안 이 방법을 사용하여(으로 나가 그냥 복사 및 붙여넣지 않고 이해 무엇을 할 것이 있을 경우 250 품목에서는 내 목록).어떤 잠재적인 누수가 발생할 수 있습?
나의 코드:
private Typeface arabicFont;
arabicFont = Typeface.createFromAsset(getAssets(), "arabicfont.ttf");
...
_arabicAdapter = new SimpleCursorAdapter(this,
R.layout.book_list_item_arabic,
_cursor,
new String[] {"NumberArabic", "Arabic"},
new int[] {R.id.txtNumber, R.id.txtBookName},
CursorAdapter.NO_SELECTION)
{
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.book_list_item_arabic, parent, false);
}
TextView txtBookName = (TextView)convertView.findViewById(R.id.txtBookName);
txtBookName.setTypeface(arabicFont);
txtBookName.setText("\"العربية\"");
return convertView;
};
};
해결책
public View getView(int position, View convertView, ViewGroup parent)
.
viwegroup 부모는 확실히 null이 아니므로 parent.getContext ()는 컨텍스트를 가져 오는 가장 좋은 방법
다른 팁
내가 사용하 getApplicationContext 과는 달리는 모든 예를 볼 수있는 단지 말 context.How do I get 컨텍스트요?거나 응용 프로그램 컨텍스트 fine?
당신이 통과 this
귀하의 생성기
_arabicAdapter = new SimpleCursorAdapter(this,
R.layout.book_list_item_arabic,
_cursor,
new String[] {"NumberArabic", "Arabic"},
new int[] {R.id.txtNumber, R.id.txtBookName},
CursorAdapter.NO_SELECTION)
는 것 h Context
그래서 당신이 있어야에 있는 변수에 Adapter
그것은 유형 Context
는 할당에서 생성자입니다.
가 어떤 성능에 대한 벌금 나에게 재정의하 getview 와 시키는 대신 그것은 그것을 처리해체(나는 그 일을 설정 글자)
지 않을 알고 있어요 그러면 그것은 글꼴을 지정에서 이 style
대 TextView
에 사용하는 ListView
항목입니다.
거기에 아무것도 알고 있어야 하는 동안 이 방법을 사용하여(으로 나가 그냥 복사 및 붙여넣지 않고 이해 무엇을 할 것이 있을 경우 250 품목에서는 내 목록).어떤 잠재적인 누수가 발생할 수 있습?
예,당신이 알고 있어야 하는 복사/붙여넣기 코드를 이해하지 않고 항상 문제입니다.가을 통해 줄고 있는지 확인을 이해하는 모든 것이 하고 있습니다.