Java 如何在片段中显示Listview
大家好,我想显示一个列表视图(下面的代码) 在碎片里Java 如何在片段中显示Listview,java,android,android-fragments,Java,Android,Android Fragments,大家好,我想显示一个列表视图(下面的代码) 在碎片里 如何做到这一点。 我已经搜索过了,但是我没有找到任何解决这个问题的方法 谢谢你们的帮助 ExperimentsList.java: public class ExperimentsList extends AppCompatActivity { public ListView lv1; public String[] listentext = {"Cola&Mentos","2","3","4"}; @Override pro
如何做到这一点。 我已经搜索过了,但是我没有找到任何解决这个问题的方法 谢谢你们的帮助 ExperimentsList.java:
public class ExperimentsList extends AppCompatActivity {
public ListView lv1;
public String[] listentext = {"Cola&Mentos","2","3","4"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_experiments_list);
android.support.v7.app.ActionBar supportActionBar = getSupportActionBar();
supportActionBar.setDisplayHomeAsUpEnabled(true);
lv1 = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> listenadapter = new ArrayAdapter<>(ExperimentsList.this, android.R.layout.simple_list_item_1, listentext);
lv1.setAdapter(listenadapter);
lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
switch (lv1.getPositionForView(view)) {
case 0:{
Intent myIntent = new Intent(ExperimentsList.this, ColaMentos.class);
final int result = 1;
ExperimentsList.this.startActivity(myIntent);
}
}
}
});
}
公共类实验列表扩展了AppCompatActivity{
公共列表视图1级;
公共字符串[]listentext={“可乐和薄荷糖”、“2”、“3”、“4”};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u experiments\u list);
android.support.v7.app.ActionBar supportActionBar=getSupportActionBar();
supportActionBar.setDisplayHomeAsUpEnabled(true);
lv1=(ListView)findViewById(R.id.ListView);
ArrayAdapter listenadapter=新的ArrayAdapter(ExperimentsList.this,android.R.layout.simple\u list\u item\u 1,listentext);
lv1.setAdapter(listenadapter);
lv1.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0、View视图、int arg2、long arg3){
开关(lv1.getPositionForView(视图)){
案例0:{
Intent myIntent=newintent(ExperimentsList.this,ColaMentos.class);
最终int结果=1;
实验列表。这个。星触觉(myIntent);
}
}
}
});
}
}我假设您希望在viewpager的选项卡下显示一个列表。 为此,您可以获取viewpager并为其设置FragmentPagerAdaptor,这将从getItem方法返回ListFragment的实例
mViewPager = (ViewPager) findViewById(R.id.container);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mSectionsPagerAdapter);
在寻呼机适配器中:
public class SectionsPagerAdapter extends FragmentPagerAdapter {
@Override
public Fragment getItem(int position) {
return MyListFragment.newInstance("");
}
.....
.....
}
您可以编写ListFragment的实现来显示列表数据。您应该将
活动\u实验\u列表更改为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/one_frag"
android:name="biz.progmar.testapp.ListViewFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
然后,您可以在活动布局中看到,它也有一个ListView谢谢您的帮助,但我想将此代码显示为一个片段您知道我的意思吗?我想用此ViewpagerOK创建一个片段。刚刚看到你的编辑。如果片段只需要包含listview,那么只需使用ListFragment。如果片段中还需要其他元素,那么创建一个包含listview的布局xml,并使用它来扩展片段。您可能需要看看这个抱歉,我是说listview它是listview的代码我想在片段中显示此listview
public class ListViewFragment extends Fragment{
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String[] listentext = {"Cola&Mentos","2","3","4"};
ArrayAdapter<String> listenadapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, listentext);
//load the simple_layout.xml which contains only one ListView.
View view = inflater.inflate(R.layout.simple_layout,container,false);
//use id="lv1" to capture the ListView
ListView listView = (ListView) view.findViewById(R.id.lv1);
//set the adapter
listView.setAdapter(listenadapter);
return view;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv1"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>