我是android编程的新手
我的活动中有两个列表视图和两个按钮。如果我按下第一个按钮,将创建一个列表视图并显示在活动中,当单击第二个按钮时,将创建第二个列表视图,并应关闭第一个列表视图。
有谁能建议我怎么做?
提前致谢..
答案 0 :(得分:1)
简单的选项是在按钮单击时在运行时更改列表上的列表适配器。
像
on first button click
list.setAdapter(adapter1);
on second button click
list.setAdapter(adapter2);
您还可以使用标签显示两个列表
请参阅此示例http://joshclemm.com/blog/?p=59
和
http://www.edumobile.org/android/android-beginner-tutorials/tab-control/
答案 1 :(得分:0)
听起来非常像Tab接口。
这应该很容易http://developer.android.com/reference/android/app/ActionBar.html#newTab()
那里的文档有一个使用片段的完整实现示例。您可能以前没有使用过片段但不要害怕,它们基本上只是视图。在尝试使列表视图飞来飞去之前,让示例正常工作。
希望这有帮助!
答案 2 :(得分:0)
你应该考虑使用片段。在主活动中使用框架布局。然后根据用户选择动态加载其中一个片段。
case (R.id.button1):
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.replace(R.id.fragment, frag1);
fragmentTransaction.commit();
break;
见http://developer.android.com/guide/components/fragments.html&& http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html
答案 3 :(得分:0)
试试这个,
我按下第二个按钮
firstlistView.setVisibility(1);(1->Invisible state)first listview goes invisible state
secondlistview.setVisiblity(0);(0->Visible)Ur second listview shown by this code
答案 4 :(得分:0)
如果你想在两个不同的按钮上显示两个列表,你可以只用一个列表和两个不同的列表 ArrayAdapter和更改列表。
示例代码......
将此代码放入xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="List1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/button1"
android:text="List2" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1" >
</ListView>
</RelativeLayout>
将此代码放入您的活动
public class MainActivity extends Activity {
ListView listView1;
Button list1Button,list2Button;
ArrayAdapter<String> adapter1,adapter2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView1 = (ListView)findViewById(R.id.listView1);
list1Button = (Button)findViewById(R.id.button1);
list2Button = (Button)findViewById(R.id.button2);
String[] names1 = {"Android","Iphone","Titenium"};
String[] names2 = {"java",".net","php"};
adapter1 = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,names1);
adapter2 = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,names2);
listView1.setAdapter(adapter1);
list1Button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
listView1.setAdapter(null);
listView1.setAdapter(adapter1);
}
});
list2Button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
listView1.setAdapter(null);
listView1.setAdapter(adapter2);
}
});
}
}
我希望这对你有帮助..