为什么这么难做
我有一个简单的列表视图。按下一行时,它会突出显示并保持突出显示,直到按下另一行。 此外,当按下一行时,我从行中获取一些数据并以吐司形式显示。这一切都很完美。 我不能做的是当列表视图启动时,我希望第一行自动突出显示,并显示吐司消息,就像第一行被按下一样。 有没有人有一个如何做到这一点的例子。
这是我的代码: 公共类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();
}
});
}
}
答案 0 :(得分:0)
您可以设置第一行突出显示:
listView.setSelection(0);
如果您的吐司设置由onItemSelected触发,那么您也可以同时获取吐司。
但是如果你的toast设置由onItemClicked触发,你必须在onCreate()中添加其他代码来显示toast。