0

嘿,我想为我的应用程序创建这样的布局。当然功能会有所不同。我正在为此研究源代码,并找到了执行此操作的 xml 文件。我只是不知道如何在活动中实现它,如何调用,创建什么,列表视图等。

替代文字

我的意思是,我只想用更大的字体列出名称和图像中的日期,用小字体但向右对齐。

因为,我想从我创建的数据库中获取数据并像这个 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();
        }
    });

}

 }

谢谢。

4

2 回答 2

0

我将创建一个包含多个文本视图的列表视图。

于 2011-01-13T19:13:13.253 回答
0

这只是一个两步的过程:

  1. 创建一个 Layout Xml 文件,它代表您列表中的一项。
  2. 扩展阵列适配器并在那里使用您的自定义布局文件。互联网上有几个关于如何扩展 Array Adapter 的示例。
于 2011-01-13T19:27:42.960 回答