Android 如何在片段中创建listview?

Android 如何在片段中创建listview?,android,listview,android-fragments,Android,Listview,Android Fragments,我在活动中有一个ListView,但我需要片段中的ListView。我怎么做?我在网上找不到关于这个问题的任何信息 这是我的代码供你阅读。提前谢谢你 public class Main extends ActionBarActivity implements android.widget.CompoundButton.OnCheckedChangeListener { ListView lv; ArrayList<Planet> planetList

我在活动中有一个
ListView
,但我需要片段中的
ListView
。我怎么做?我在网上找不到关于这个问题的任何信息

这是我的代码供你阅读。提前谢谢你

public class Main extends ActionBarActivity implements
        android.widget.CompoundButton.OnCheckedChangeListener {

    ListView lv;
    ArrayList<Planet> planetList;
    PlanetAdapter plAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lv = (ListView) findViewById(R.id.listview);
        displayPlanetList();


    }

    private void displayPlanetList() {

        planetList = new ArrayList<Planet>();
        planetList.add(new Planet("Margherita", 6, "€"));
        planetList.add(new Planet("Diavola", 7,"€"));
        planetList.add(new Planet("Bufalina", 5,"€"));
        planetList.add(new Planet("Marinara", 5,"€"));
        planetList.add(new Planet("Viennese", 4,"€"));

        plAdapter = new PlanetAdapter(planetList, this);
        lv.setAdapter(plAdapter);
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

        int pos = lv.getPositionForView(buttonView);
        if (pos != ListView.INVALID_POSITION) {
            Planet p = planetList.get(pos);
            p.setSelected(isChecked);


            /*Toast.makeText(
                    this,
                    "Clicked on Planet: " + p.getName() + ". State: is "
                            + isChecked, Toast.LENGTH_SHORT).show();*/
        }

    }
    public void showResult(View v) {
        String result = "Selected Product are :";
        int totalAmount=0;

        for (Planet p : plAdapter.getBox()) {
            if (p.selected){
                result += "\n" + p.name+" "+p.distance+"€"+"q.tà :"+p.getQuantità();
                //if (p.quantità.equals("") && p.quantità.equals(null) ){
                System.out.println("leggo questo record:"+p.name + " " + p.distance + " " + p.quantità );

                System.out.println("leggo questo p.getquatità :"+p.quantità );
                //}
                //else{
                    System.out.println("leggo questo in p.quantità: "+p.getQuantità());
                    int quantitaInt= Integer.parseInt(p.getQuantità());
                    totalAmount+=p.distance * quantitaInt;
                //}
            }
        }
//      Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show();
        //Integer.toString(totalAmount);
        Intent i = new Intent(Main.this, SecondActivity.class);
        i.putExtra("NomeDati1", result);
        i.putExtra("NomeDati2", String.valueOf(totalAmount));
        startActivity(i);

    }
}
public类主扩展ActionBarActivity实现
android.widget.CompoundButton.OnCheckedChangeListener{
ListView lv;
ArrayList planetList;
飞机适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv=(ListView)findViewById(R.id.ListView);
displayPlanetList();
}
私有void displaytlist(){
planetList=新的ArrayList();
添加(新行星(“玛格丽塔”,6,“€”);
添加(新行星(“迪亚沃拉”,7,“€”);
添加(新行星(“Bufalina”,5,“€”);
添加(新行星(“Marinara”,5,“€”);
添加(新行星(“维也纳”,4“€”);
plAdapter=新的PlanetAdapter(planetList,this);
低压设置适配器(plAdapter);
}
@凌驾
检查更改后的公共无效(复合按钮视图,布尔值已检查){
int pos=lv.getPositionForView(按钮视图);
如果(位置!=列表视图。位置无效){
行星p=行星列表get(位置);
p、 已选择(已检查);
/*Toast.makeText(
这
单击行星:“+p.getName()+”。状态:是”
+isChecked,Toast.LENGTH_SHORT).show()*/
}
}
公共无效显示结果(视图五){
String result=“所选产品为:”;
int totalAmount=0;
对于(Planet p:plAdapter.getBox()){
如果(p.selected){
结果+=“\n”+p.name+“+p.distance+”€“+”q.tá:“+p.getQuantitá();
//if(p.quantitáequals(“”)和p.quantitáequals(null)){
System.out.println(“leggo questo记录:”+p.name+“”+p.distance+“”+p.quantitá);
System.out.println(“leggo questo p.getquatit:”+p.quantit);
//}
//否则{
System.out.println(“p.quantitá中的leggo questo:+p.getQuantitá());
int quantitaInt=Integer.parseInt(p.getQuantitá());
总金额+=p.距离*数量;
//}
}
}
//Toast.makeText(此,结果+“\n”+”总量:=“+totalAmount,Toast.LENGTH_LONG).show();
//整数.toString(totalAmount);
意图i=新意图(Main.this,SecondActivity.class);
i、 putExtra(“NomeDati1”,结果);
i、 putExtra(“NomeDati2”,String.valueOf(totalAmount));
星触觉(i);
}
}
这是:

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

import java.util.ArrayList;
import java.util.List;

import info.androidhive.materialtabs.R;
import info.androidhive.materialtabs.fragments.EightFragment;
import info.androidhive.materialtabs.fragments.FiveFragment;
import info.androidhive.materialtabs.fragments.FourFragment;
import info.androidhive.materialtabs.fragments.NineFragment;
import info.androidhive.materialtabs.fragments.OneFragment;
import info.androidhive.materialtabs.fragments.SevenFragment;
import info.androidhive.materialtabs.fragments.SixFragment;
import info.androidhive.materialtabs.fragments.TenFragment;
import info.androidhive.materialtabs.fragments.ThreeFragment;
import info.androidhive.materialtabs.fragments.TwoFragment;

public class ScrollableTabsActivity extends AppCompatActivity {

    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scrollable_tabs);

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);

        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);
    }

    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFrag(new OneFragment(), "PIZZE");
        adapter.addFrag(new TwoFragment(), "TWO");
        adapter.addFrag(new ThreeFragment(), "THREE");
        adapter.addFrag(new FourFragment(), "FOUR");
        adapter.addFrag(new FiveFragment(), "FIVE");
        adapter.addFrag(new SixFragment(), "SIX");
        adapter.addFrag(new SevenFragment(), "SEVEN");
        adapter.addFrag(new EightFragment(), "EIGHT");
        adapter.addFrag(new NineFragment(), "NINE");
        adapter.addFrag(new TenFragment(), "TEN");

        viewPager.setAdapter(adapter);
    }


    class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFrag(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }

}
导入android.os.Bundle;
导入android.support.design.widget.TabLayout;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入java.util.ArrayList;
导入java.util.List;
进口信息androidhive.materialtabs.R;
导入info.androidhive.materialtabs.fragments.EightFragments;
导入info.androidhive.materialtabs.fragments.FiveFragment;
导入info.androidhive.materialtabs.fragments.FourFragment;
导入info.androidhive.materialtabs.fragments.niefragment;
导入info.androidhive.materialtabs.fragments.OneFragment;
导入info.androidhive.materialtabs.fragments.SevenFragment;
导入info.androidhive.materialtabs.fragments.SixFragment;
导入info.androidhive.materialtabs.fragments.TenFragment;
导入info.androidhive.materialtabs.fragments.ThreeFragment;
导入info.androidhive.materialtabs.fragments.TwoFragment;
公共类ScrollableTabsActivity扩展了AppCompativeActivity{
专用工具栏;
私人摊位摊位;
私人视页机视页机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity可滚动选项卡);
toolbar=(toolbar)findviewbyd(R.id.toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
viewPager=(viewPager)findViewById(R.id.viewPager);
设置viewPager(viewPager);
tabLayout=(tabLayout)findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
专用无效设置ViewPager(ViewPager ViewPager){
ViewPagerAdapter适配器=新的ViewPagerAdapter(getSupportFragmentManager());
addFrag(新的OneFragment(),“PIZZE”);
addFrag(新的TwoFragment(),“TWO”);
addFrag(新的ThreeFragment(),“THREE”);
addFrag(新的FourFragment(),“FOUR”);
addFrag(新的FiveFragment(),“五”);
addFrag(新的SixFragment(),“SIX”);
addFrag(新的SevenFragment(),“SEVEN”);
adapter.addFrag(新的EightFragment(),“八”);
adapter.addFrag(新的NineFragment(),“九”);
addFrag(新的TenFragment(),“十”);
viewPager.setAdapter(适配器);
}
类ViewPagerAdapter扩展了FragmentPagerAdapter{
私有最终列表MFFragmentList=new ArrayList();
私有最终列表MFFragmentTitleList=new ArrayList();
公共视图页面编辑器(碎片管理器){
高级经理;
}
@凌驾
公共片段getItem(int位置){
返回MFFragmentList.get(位置);
}
@凌驾
public int getCount(){
返回MFFragmentList.size();
}
public void addFrag(片段、字符串标题){
添加(片段);
MFFragmentTitleList.add(标题);
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">ListFragmentDemo</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="imgdesc">imgdesc</string>

<string-array name="Planets">
    <item>Sun</item>
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
    <item>Mars</item>
    <item>Jupiter</item>
    <item>Saturn</item>
    <item>Uranus</item>
    <item>Neptune</item>
</string-array>

</resources>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<fragment
    android:id="@+id/fragment1"
    android:name="com.pavan.listfragmentdemo.MyListFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

<TextView
    android:id="@android:id/empty"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</TextView>

</LinearLayout>
    public class MyListFragment extends ListFragment implements OnItemClickListener {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.list_fragment, container, false);

    return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);

   ArrayAdapter<CharSequence> adapter =  ArrayAdapter.createFromResource(getActivity(), R.array.Planets, android.R.layout.simple_list_item_1);

    setListAdapter(adapter);
    getListView().setOnItemClickListener(this);

}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {

    Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT)
            .show();

}
}
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

}