展開可能なアイテムと単一のアイテムを含むリストを作成しようとしています。単一のアイテムまたは展開可能なリストの子がクリックされたときに、アイテムのテキストに基づいてインテントを呼び出すことができるようにしたいと考えています。
展開可能なリストが機能すると思いますが、展開可能なリストのアイコンが表示されないように、展開可能なリストに項目を設定する方法はありますか? 文字列配列以外のものを使用する必要がありますか?
これを行う最善の方法は何ですか?
ありがとう
以下は私の不完全なコードです。項目「ゾーン 1」、「ゾーン 2」、「ゾーン 3」を項目「アトランタ」と「ボストン」の間、またはアトランタのサブセットとして挿入したいと思います。
package test.lists.special;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class SpecialList extends ListActivity{
TextView toptext;
String[] items={"Atlanta", "Boston", "Chicago", "Dallas"};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
items));
toptext=(TextView)findViewById(R.id.toptext);
}
public void onListItemClick(ListView parent, View v, int position,
long id) {
Intent intent = new Intent();
if (parent.getItemAtPosition(position)=="Atlanta")
{
//THIS IS WHERE I WISH TO INSERT "ZONE 1", "ZONE 2", "ZONE 3"
//between Atlanta and Boston in the list
}
else if (parent.getItemAtPosition(position)=="Boston")
{
intent.setClass(this, test.lists.special.Boston.class);
startActivity(intent);
}
else if (parent.getItemAtPosition(position)=="Chicago")
{
intent.setClass(this, test.lists.special.Chicago.class);
startActivity(intent);
}
else if (parent.getItemAtPosition(position)=="Dallas")
{
intent.setClass(this, test.lists.special.Dallas.class);
startActivity(intent);
}
else if (parent.getItemAtPosition(position)=="Zone 1")
{
intent.setClass(this, test.lists.special.Atlanta.Zone1.class);
startActivity(intent);
}
else if (parent.getItemAtPosition(position)=="Zone 2")
{
intent.setClass(this, test.lists.special.Atlanta.Zone2.class);
startActivity(intent);
}
else if (parent.getItemAtPosition(position)=="Zone 3")
{
intent.setClass(this, test.lists.special.Atlanta.Zone3.class);
startActivity(intent);
}
}
}