Android Listview项目是否被覆盖?
我有一个主要的活动,里面有两个选项卡,分别是Android Listview项目是否被覆盖?,android,listview,android-fragments,Android,Listview,Android Fragments,我有一个主要的活动,里面有两个选项卡,分别是task和call。在task中有一个按钮,按下该按钮时,将转到新活动,然后数据将从那里转到主活动的viewpager中的任务片段,以填充任务片段中的listview。我已经传递了数据,但它没有被动态添加,项目被覆盖 Notifydata setchange也不起作用,我不知道我的错误是什么。你们能帮帮我吗。我正在发布我的代码: viewpager中的主要活动包含两个片段: import android.os.Bundle; import androi
task
和call
。在task
中有一个按钮,按下该按钮时,将转到新活动,然后数据将从那里转到主活动的viewpager中的任务片段,以填充任务片段中的listview。我已经传递了数据,但它没有被动态添加,项目被覆盖
Notifydata setchange
也不起作用,我不知道我的错误是什么。你们能帮帮我吗。我正在发布我的代码:
viewpager中的主要活动包含两个片段:
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 android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
/**
* The {@link android.support.v4.view.PagerAdapter} that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
* {@link android.support.v4.app.FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;
/**
* The {@link ViewPager} that will host the section contents.
*/
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
// Bundle bundle=getIntent().getExtras();
// Intent intent=getIntent();
// ActivityView activityView=(ActivityView)intent.getSerializableExtra("yog");
// intent.putExtra("yogs",activityView);
// Bundle bundle=new Bundle();
// bundle.putSerializable("yogs",activityView);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
// intent.getSerializableExtra("god");
/* Bundle bundle=new Bundle();
if(bundle!=null) {
bundle.putSerializable("yog", activityView);
Task task = new Task();
task.setArguments(bundle);
}*/}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
switch (position){
case 0:
Task task=new Task();
return task;
case 1:
Calls calls=new Calls();
return calls;
}
return null;
}
@Override
public int getCount() {
// Show 3 total pages.
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position){
case 0:
return "Task";
case 1:
return "Call";
}
return null;
}
}
}
这是从中填充listview的视图寻呼机的任务片段
详细活动:
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class Task extends Fragment
{
List<ActivityView>activityViews;
ActivityView activity;
ActivityView activityView=new ActivityView();
ActivityListAdapter activityListAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootview= inflater.inflate(R.layout.yog,container,false);
ListView listview=(ListView)rootview.findViewById(R.id.listView);
if (activityViews == null)
{
activityViews = new ArrayList<ActivityView>();
}
// Intent intent=getActivity().getIntent();
// ActivityView activityView=(ActivityView) intent.getSerializableExtra("yog");
activityListAdapter = new ActivityListAdapter(getActivity(), R.id.listView, activityViews);
listview.setAdapter(activityListAdapter);
if(activityView!=null)
{
activityViews.add(activityView);
activityListAdapter.notifyDataSetChanged();
}
Button btn=(Button)rootview.findViewById(R.id.button2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), DetailActivity.class);
startActivity(intent);
}
});
return rootview;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==1){
Intent intent=getActivity().getIntent();
activity =(ActivityView) intent.getSerializableExtra("yog");
}
}
}
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.Button;
导入android.widget.ListView;
导入java.util.ArrayList;
导入java.util.List;
公共类任务扩展片段
{
列表活动视图;
活动查看活动;
ActivityView ActivityView=新建ActivityView();
ActivityListAdapter ActivityListAdapter;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图根视图=充气机。充气(右布局。yog,容器,假);
ListView ListView=(ListView)rootview.findViewById(R.id.ListView);
如果(activityViews==null)
{
activityViews=new ArrayList();
}
//Intent Intent=getActivity().getIntent();
//ActivityView ActivityView=(ActivityView)intent.getSerializableExtra(“yog”);
activityListAdapter=新的activityListAdapter(getActivity(),R.id.listView,ActivityView);
setAdapter(activityListAdapter);
如果(activityView!=null)
{
activityView.add(activityView);
activityListAdapter.notifyDataSetChanged();
}
按钮btn=(按钮)rootview.findviewbyd(R.id.button2);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(getActivity(),DetailActivity.class);
星触觉(意向);
}
});
返回rootview;
}
@凌驾
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
if(requestCode==1){
Intent Intent=getActivity().getIntent();
activity=(ActivityView)intent.getSerializableExtra(“yog”);
}
}
}
这是detailactivity,数据将在其中填充任务片段中的listview:
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
public class DetailActivity extends AppCompatActivity {
ActivityView activityView = new ActivityView();
// public static String endpoint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
final EditText editText = (EditText) findViewById(R.id.editText);
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
final ArrayAdapter<CharSequence> arrayAdapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.yog, R.layout.support_simple_spinner_dropdown_item);
spinner.setAdapter(arrayAdapter);
final Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
activityView.setDescription(editText.getText().toString());
activityView.setStatus(spinner.getSelectedItem().toString());
Intent intent=new Intent(DetailActivity.this,MainActivity.class);
intent.putExtra("yog",activityView);
intent.putExtra("god",activityView);
startActivityForResult(intent,1);
}
});
}
}
Intent intent = new Intent(getActivity(), DetailActivity.class);
startActivityForResult(intent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
// Make sure the request was successful
if (resultCode == Activity.RESULT_OK){
activityViews.add((ActivityView)data.getParcelableExtra("yog"));
activityListAdapter.notifyDataSetChanged();
}
}
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Spinner;
公共类DetailActivity扩展了AppCompatActivity{
ActivityView ActivityView=新建ActivityView();
//公共静态字符串端点;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_详细信息);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);
final EditText EditText=(EditText)findViewById(R.id.EditText);
最终微调器微调器=(微调器)findViewById(R.id.Spinner);
final ArrayAdapter ArrayAdapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.yog,R.layout.support\u simple\u spinner\u dropdown\u项);
spinner.setAdapter(阵列适配器);
最终按钮btn=(按钮)findViewById(R.id.Button);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v)
{
activityView.setDescription(editText.getText().toString());
activityView.setStatus(spinner.getSelectedItem().toString());
意向意向=新意向(DetailActivity.this,MainActivity.class);
intent.putExtra(“yog”,activityView);
意图。putExtra(“上帝”,activityView);
startActivityForResult(意向,1);
}
});
}
}
这是我的customlist适配器:
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.List;
/**
* Created by 4264 on 08-01-2016.
*/
public class ActivityListAdapter extends ArrayAdapter<ActivityView> {
private List<ActivityView> listData;
private LayoutInflater layoutInflater;
public ActivityListAdapter(Context context, int resource, List<ActivityView> listdata) {
super(context, resource, listdata);
this.listData = listdata;
layoutInflater = LayoutInflater.from(context);
}
@Override
public void add(ActivityView object)
{
super.add(object);
}
@Override
public int getCount()
{
return listData.size();
}
@Override
public ActivityView getItem(int position)
{
return listData.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder comp_list_holder;
View mview = convertView;
if (mview == null) {
convertView = layoutInflater.inflate(R.layout.list_activity, null);
comp_list_holder = new ViewHolder();
comp_list_holder .competitors_name = (TextView) convertView.findViewById(R.id.companygrp);
comp_list_holder .competitors_website = (TextView) convertView.findViewById(R.id.companyname);
convertView.setTag(comp_list_holder );
}
else
{
comp_list_holder = (ViewHolder) convertView.getTag();
}
comp_list_holder.competitors_name.setText("Description " + listData.get(position).getDescription());
comp_list_holder.competitors_website.setText("Status "+ listData.get(position).getStatus());
convertView.setBackgroundColor(Color.parseColor("#DCDCDCDC"));
return convertView;
}
public static class ViewHolder
{
public TextView competitors_name;
public TextView competitors_website;
}
}
导入android.content.Context;
导入android.graphics.Color;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.TextView;
导入java.util.List;
/**
*由4264于2016年1月8日创建。
*/
公共类ActivityListAdapter扩展了ArrayAdapter{
私有列表数据;
私人停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场停车场;
公共活动列表适配器(上下文上下文、int资源、列表数据){
超级(上下文、资源、列表数据);
this.listData=listData;
layoutInflater=layoutInflater.from(上下文);
}
@凌驾
公共无效添加(ActivityView对象)
{
super.add(object);
}
@凌驾
public int getCount()
{
返回listData.size();
}
@凌驾
公共活动视图getItem(内部位置)
{
返回listData.get(位置);
}
@凌驾
公共长getItemId(int位置)
{
返回位置;
}
公共视图getView(int位置、视图转换视图、视图组父视图)
{
视窗支架组件列表支架;
视图mview=转换视图;
if(mview==null){
convertView=LayoutFlater.充气(R.layout.list_活动,空);
综合清单_
Intent intent=new Intent();
intent.putExtra("yog",activityView);
intent.putExtra("god",activityView);
setResult(RESULT_OK,intent);
finish();//finishing activity