如何初始化listview

时间:2015-03-04 02:57:09

标签: android listview

为什么这么难做

我有一个简单的列表视图。按下一行时,它会突出显示并保持突出显示,直到按下另一行。 此外,当按下一行时,我从行中获取一些数据并以吐司形式显示。这一切都很完美。 我不能做的是当列表视图启动时,我希望第一行自动突出显示,并显示吐司消息,就像第一行被按下一样。 有没有人有一个如何做到这一点的例子。

这是我的代码: 公共类MainActivity扩展Activity     {     ListView listView;     private View lastview = null;

@Override
protected void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = (ListView) findViewById(R.id.list);

    String[] values = new String[] { "Row 1", 
                                     "Row 2",
                                     "Row 3",
                                     "Row 4", 
                                     "Row 5", 
                                     "Row 6", 
                                     "Row 7", 
                                     "Row 8" 
                                    };

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
      android.R.layout.simple_list_item_1, android.R.id.text1, values);
    listView.setAdapter(adapter); 

    listView.setOnItemClickListener(new OnItemClickListener()
        {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
            if ( lastview != null )
                lastview.setBackgroundColor(Color.WHITE);
            lastview = view;
            view.setBackgroundColor(0xcc0022cc);

            String  content  = (String) listView.getItemAtPosition(position);
            Toast.makeText(getApplicationContext(), String.format("<%d><%s>", position, content), Toast.LENGTH_LONG).show();
            }
        }); 
    }



}

1 个答案:

答案 0 :(得分:0)

您可以设置第一行突出显示:

  listView.setSelection(0);

如果您的吐司设置由onItemSelected触发,那么您也可以同时获取吐司。

但是如果你的toast设置由onItemClicked触发,你必须在onCreate()中添加其他代码来显示toast。