を実装しましたが、リスト内の項目の可能な選択ごとListActivity
に異なる を起動したいと考えています。intent
例えば:
[About] アイテムをクリックするintent
と、新しいアクティビティが起動し、[Access Phone Gallery] アイテムをクリックすると、電話ギャラリーがintent
開きます (たとえば、画像を選択するため)。
次の 2 つのことを理解したいと思います。
- どの項目がクリックされたかを特定して、正しい
intent
. - リスト内のアイテムが選択されたときにスタイルを変更するにはどうすればよいですか? (ユーザーエクスペリエンスが向上するように強調表示されるとします)
以下はMyActivity
( を実装するListActivity
)のコードです。
public class MyActivity extends ListActivity implements OnItemClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.list_activity);
ListView listView = (ListView) findViewById(android.R.id.list);
listEntryClass listEntries[] = new listEntryClass[]
{
new listEntryClass( "About", "About" ),
new listEntryClass( "Access Phone Gallery", "Access Gallery and Choose an Image" )
};
listEntryArrayAdapter adapter = new listEntryArrayAdapter(this, R.layout.list_entry_layout, listEntries);
View header = (View)getLayoutInflater().inflate(R.layout.list_header_layout, null);
TextView headerValue = (TextView) header.findViewById(R.id.list_header);
headerValue.setText( this.getString(R.string.headerPrefs) );
listView.addHeaderView(header);
listView.setAdapter(adapter);
listView.setOnItemClickListener( this );
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Log.d(TAG, "Clicked an entry");
}
}
switch-case
クリックしたアイテムのどこかに のようなものがあるはずですがid
、どうすればいいのかわかりません。