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);
}
}