Я пытаюсь составить список с возможностью расширения некоторых элементов и отдельных элементов. Мне бы хотелось, чтобы при щелчке одного элемента или дочернего элемента расширяемого списка я мог вызывать намерение на основе текста элемента.
Я полагаю, что расширяемые списки будут работать, но есть ли способ установить элементы в расширяемом списке, чтобы у них не было значка расширяемого списка? Должен ли я использовать что-то кроме строкового массива?
Каков наилучший способ сделать это?
Спасибо
Ниже приведен мой неполный код, я хотел бы вставить элементы «Зона 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);
}
}
}