2013-02-01 2 views
0

Android 응용 프로그램 내에서 사용자가 응용 프로그램 이미지 만 사용하여 gridview에서 마지막으로 사용한 6 개의 응용 프로그램을 볼 수있는 기능을 만듭니다. 지금까지 나는 이것을 시도했다 :최근 응용 프로그램을 GridView에로드하십시오.

 //Load recent used apps 
    ActivityManager result = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); 
    ArrayList<RecentTaskInfo> apps = (ArrayList<RecentTaskInfo>) result.getRecentTasks(10, ActivityManager.RECENT_WITH_EXCLUDED); 
    ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, 
      android.R.layout.simple_list_item_1, apps); 
    recentappsGridView.setAdapter(adapter); 

그러나 이것은 단지 각 행과 열에 많은 텍스트를 보여준다. 이 문제를 어떻게 해결할 수 있습니까? 이미 클릭 이벤트에 대한 메서드를 사용하여 동일한 활동 내에서 ListView를 사용하고 있습니다.

+0

일반 ArrayAdapter를 사용하기 때문에 긴 문자열을 생성하는 각 RecentTaskInfo 객체에서 toString 메서드를 호출하려고합니다. 적절한 텍스트와 함께 이미지를 표시하려면 사용자 정의 어댑터가 필요할 것입니다. – dymmeh

+0

그래, 알아 냈어. 그러나 나는 어디에서 시작해야할지 모른다. 나는 많은 google'ing되었습니다. – user1446632

답변

1

ArrayAdapter의 하위 클래스를 만듭니다. getView()을 재정의하십시오. TextView이 아니라 이미지로 셀을 설정하십시오. resolveActivityInfo() on the Intent을 사용하면 baseIntent에서 RecentTaskInfo으로 이동하여 ActivityInfo 개체를 얻을 수 있습니다. ActivityInfoicon을 사용하여 셀을 채 웁니다.

나는 그 조리법을 시도하지는 않았지만 당신을 더 가까이해야합니다.

+0

anwer에 대한 감사하지만, 나는 정말로 당신이 의미하는 일을하는 데 다소 문제가 있습니다. – user1446632

+0

@ user1446632 : 어려움을 초래하는 원인을 정확하게 설명하기 위해 13 개 이상의 단어를 사용하는 것이 좋습니다. – CommonsWare

+0

여러분 모두에 대해 이야기하십시오. 나는 잘하지 못한다. 그리고 그것은 내 코드에 추가하기가 어렵다고 생각합니다. "하위 클래스"와 마찬가지로, 전에 확실히 사용했지만 그 이름에 익숙하지 않습니다. – user1446632

관련 문제