Как создать макет как макет Android CallLog - PullRequest
0 голосов
/ 13 января 2011

Эй, я хочу создать такой макет для своего приложения.Конечно, функциональность будет отличаться.Я изучаю исходный код для этого, и я нашел XML-файлы, которые делают это.Я просто не знаю, как реализовать это в упражнении, как вызвать, что создать, просмотр списка и т. Д.

alt text

Я имею в виду, я просто хочу перечислить имяс большим шрифтом и датой, как на картинке, с маленьким шрифтом, но выровненным по правому краю.

Потому что я хочу получить данные из базы данных, которую я создал, и распечатать их как этот списокCallLog.

Я имею в виду, как Android выравнивает дату с этим значком по правому краю с небольшим размером шрифта?

Так что это мое занятие, я просто не знаю, из какого XML-файлаисходный код, который нужно использовать, или какой метод реализовать, чтобы я мог напечатать данные, как в примере с изображением.

   public class RatedCalls extends ListActivity {

private static final String LOG_TAG = "RatedCalls";
private TableLayout table;
private CallDataHelper cdh;
private TableRow row;
private TableRow row2;

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.recent_calls);

    Log.i(LOG_TAG, "calling from onCreate()");

    cdh = new CallDataHelper(this);

    startService(new Intent(this, RatedCallsService.class));
    Log.i(LOG_TAG, "Service called.");
    Log.i(LOG_TAG, "before call fillList");

    /*
     * mAdapter = new RecentCallsAdapter();
     * getListView().setOnCreateContextMenuListener(this);
     * setListAdapter(mAdapter);
     */

    fillList();
    Log.i(LOG_TAG, "after call fillList");

}

public void onResume() {

    super.onResume();
    fillList();

}

public void fillList() {

    Log.i(LOG_TAG, "entered on fillList");
    List<String> ratedCalls = new ArrayList<String>();
    ratedCalls = this.cdh.selectTopCalls();


     //setListAdapter(new ArrayAdapter<String>(this, R.layout.recent_calls_list_item,
     //ratedCalls));


    ListView lv = getListView();
    lv.setTextFilterEnabled(true);
    getListView().setOnCreateContextMenuListener(this);

    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {


            Toast.makeText(getApplicationContext(),
                    ((TextView) view).getText(), Toast.LENGTH_LONG).show();
        }
    });

}

 }

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 января 2011

Это просто двухэтапный процесс:

  1. Создайте файл Layout Xml, представляющий 1 элемент вашего списка.
  2. Расширьте Array Adapter и используйте там свой собственный файл макета. В Интернете есть несколько примеров того, как расширить адаптер массива.
0 голосов
/ 13 января 2011

Я собираюсь создать просмотр списка с несколькими текстовыми представлениями.

...