ListView 中的问题
Issues in ListView
如何将列表视图单个项目名称显示为单个布局 Header 名称?
这是我的 CODE:In 仅此代码 我的应用程序名称显示为所有人的标题 layouts.but 我想要单独的项目名称列表作为 header 单独布局中的名称?
ListView list;
int i;
String[] places = {"AP State Archaeology Museum","Birla Mandir","Birla Planetarium","Charminar","Chowmahalla Palace",
"Golkonda Fort", "Hussain Sagar","Lumbini Park","Makkah Masjid","Mrugavani National Park","Nehru Zoological Park","Nizam Museum",
"Ramoji Film City", "Salar Jung Museum","Shilparamam"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout ll = (LinearLayout)findViewById(R.id.linear);
LinearLayout linear = (LinearLayout)findViewById(R.id.linear1);
list = (ListView)findViewById(R.id.places);
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,places);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0)
{
Intent i = new Intent(MainActivity.this,Apstate.class);
startActivity(i);
}
if (position == 1)
{
Intent i1 = new Intent(MainActivity.this,Birla.class);
startActivity(i1);
}
if (position == 2)
{
Intent i2 = new Intent(MainActivity.this,BirlaPlanetarium.class);
startActivity(i2);
}
if (position == 3)
{
Intent i3 = new Intent(MainActivity.this,Charminar.class);
startActivity(i3);
}
if (position == 4)
{
Intent i4 = new Intent(MainActivity.this,Chowmahal.class);
startActivity(i4);
}
if (position == 5)
{
Intent i5 = new Intent(MainActivity.this,Golkonda.class);
startActivity(i5);
}
if (position == 6)
{
Intent i6 = new Intent(MainActivity.this,Hussiansagar.class);
startActivity(i6);
}
if (position == 7)
{
Intent i7 = new Intent(MainActivity.this,Lumbinipark.class);
startActivity(i7);
}
if (position == 8)
{
Intent i8 = new Intent(MainActivity.this,Meccamasjid.class);
startActivity(i8);
}
if (position == 9)
{
Intent i9 = new Intent(MainActivity.this,Mrugavani.class);
startActivity(i9);
}
if (position == 10)
{
Intent i10 = new Intent(MainActivity.this,Nehrupark.class);
startActivity(i10);
}
if (position == 11)
{
Intent i11 = new Intent(MainActivity.this,Nizam.class);
startActivity(i11);
}
if (position == 12)
{
Intent i12 = new Intent(MainActivity.this,Ramoji.class);
startActivity(i12);
}
if (position == 13)
{
Intent i13 = new Intent(MainActivity.this,Salarjung.class);
startActivity(i13);
}
if (position == 14)
{
Intent i14 = new Intent(MainActivity.this,shilparamam.class);
startActivity(i14);
}
}
});
}}
- 您列出了 ArrayList
中的所有数据
- 通过 putExtra 传递 ArrayList 的位置或通过 putExtra 传递整个 arraylist,并在 Listview 项目单击上传递 Intent。
首先你应该在点击时获取列表视图的字符串,然后通过使用 put extra 和它的对象名称
将字符串传递给另一个 activity
按照你的说法,你应该这样做,
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String value=list.getItemAtPosition(position).toString();
if (position == 0) {
Intent i = new Intent(MainActivity.this, Apstate.class);
i.putExtra("ListView_value",value);
startActivity(i);
}
if (position == 1)
{
Intent i1 = new Intent(MainActivity.this,Birla.class);
i1.putExtra("ListView_value",value);
startActivity(i1);
}
....// same like the above do for all
...
...
}
});
然后你的 activity class 就像:
Apstate Class Activtiy:-
String value;
Bundle extras = getIntent().getExtras();
value = extras.getString("ListView_value");
setTitle(value);
Birla Class 活动:-
String value;
Bundle extras = getIntent().getExtras();
value = extras.getString("ListView_value");
setTitle(value);
应该为所有其他 classes...
same like that in all class activity class
......
如何将列表视图单个项目名称显示为单个布局 Header 名称? 这是我的 CODE:In 仅此代码 我的应用程序名称显示为所有人的标题 layouts.but 我想要单独的项目名称列表作为 header 单独布局中的名称?
ListView list;
int i;
String[] places = {"AP State Archaeology Museum","Birla Mandir","Birla Planetarium","Charminar","Chowmahalla Palace",
"Golkonda Fort", "Hussain Sagar","Lumbini Park","Makkah Masjid","Mrugavani National Park","Nehru Zoological Park","Nizam Museum",
"Ramoji Film City", "Salar Jung Museum","Shilparamam"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout ll = (LinearLayout)findViewById(R.id.linear);
LinearLayout linear = (LinearLayout)findViewById(R.id.linear1);
list = (ListView)findViewById(R.id.places);
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,places);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0)
{
Intent i = new Intent(MainActivity.this,Apstate.class);
startActivity(i);
}
if (position == 1)
{
Intent i1 = new Intent(MainActivity.this,Birla.class);
startActivity(i1);
}
if (position == 2)
{
Intent i2 = new Intent(MainActivity.this,BirlaPlanetarium.class);
startActivity(i2);
}
if (position == 3)
{
Intent i3 = new Intent(MainActivity.this,Charminar.class);
startActivity(i3);
}
if (position == 4)
{
Intent i4 = new Intent(MainActivity.this,Chowmahal.class);
startActivity(i4);
}
if (position == 5)
{
Intent i5 = new Intent(MainActivity.this,Golkonda.class);
startActivity(i5);
}
if (position == 6)
{
Intent i6 = new Intent(MainActivity.this,Hussiansagar.class);
startActivity(i6);
}
if (position == 7)
{
Intent i7 = new Intent(MainActivity.this,Lumbinipark.class);
startActivity(i7);
}
if (position == 8)
{
Intent i8 = new Intent(MainActivity.this,Meccamasjid.class);
startActivity(i8);
}
if (position == 9)
{
Intent i9 = new Intent(MainActivity.this,Mrugavani.class);
startActivity(i9);
}
if (position == 10)
{
Intent i10 = new Intent(MainActivity.this,Nehrupark.class);
startActivity(i10);
}
if (position == 11)
{
Intent i11 = new Intent(MainActivity.this,Nizam.class);
startActivity(i11);
}
if (position == 12)
{
Intent i12 = new Intent(MainActivity.this,Ramoji.class);
startActivity(i12);
}
if (position == 13)
{
Intent i13 = new Intent(MainActivity.this,Salarjung.class);
startActivity(i13);
}
if (position == 14)
{
Intent i14 = new Intent(MainActivity.this,shilparamam.class);
startActivity(i14);
}
}
});
}}
- 您列出了 ArrayList 中的所有数据
- 通过 putExtra 传递 ArrayList 的位置或通过 putExtra 传递整个 arraylist,并在 Listview 项目单击上传递 Intent。
首先你应该在点击时获取列表视图的字符串,然后通过使用 put extra 和它的对象名称
将字符串传递给另一个 activity按照你的说法,你应该这样做,
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String value=list.getItemAtPosition(position).toString();
if (position == 0) {
Intent i = new Intent(MainActivity.this, Apstate.class);
i.putExtra("ListView_value",value);
startActivity(i);
}
if (position == 1)
{
Intent i1 = new Intent(MainActivity.this,Birla.class);
i1.putExtra("ListView_value",value);
startActivity(i1);
}
....// same like the above do for all
...
...
}
});
然后你的 activity class 就像:
Apstate Class Activtiy:-
String value;
Bundle extras = getIntent().getExtras();
value = extras.getString("ListView_value");
setTitle(value);
Birla Class 活动:-
String value;
Bundle extras = getIntent().getExtras();
value = extras.getString("ListView_value");
setTitle(value);
应该为所有其他 classes...
same like that in all class activity class
......