Java 将一个元素从一个listView添加到另一个listView

Java 将一个元素从一个listView添加到另一个listView,java,android,android-listview,Java,Android,Android Listview,我想在新闻上创建“添加到收藏夹”操作栏按钮,如果单击该按钮,请将新闻添加到“收藏夹”选项卡中的新列表适配器中,您能否帮助我实现该按钮并告诉我如何创建新列表 这是我的代码:(显示点击的新闻) 以下是listView的代码: public class Noutati1 extends Activity { private SitesAdapter mAdapter; private ListView sitesList; private Context context; @Override

我想在新闻上创建“添加到收藏夹”操作栏按钮,如果单击该按钮,请将新闻添加到“收藏夹”选项卡中的新列表适配器中,您能否帮助我实现该按钮并告诉我如何创建新列表

这是我的代码:(显示点击的新闻)

以下是listView的代码:

public class Noutati1 extends Activity {

private SitesAdapter mAdapter;
private ListView sitesList;
private Context context;



@Override
protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    Log.i("StackSites", "OnCreate()");
    setContentView(R.layout.noutati);

    context = this;

    //Get reference to our ListView
    sitesList = (ListView)findViewById(R.id.sitesList);




  sitesList.setOnItemClickListener(new     AdapterView.OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> parent, View v, int pos,long id) {
      String Title = mAdapter.getItem(pos).getName();
      String nDate = mAdapter.getItem(pos).getnDate();
      String ImageUrl = mAdapter.getItem(pos).getImgUrl();
      String Text = mAdapter.getItem(pos).getnText();
      String VideoUrl = mAdapter.getItem(pos).getVideoUrl();
      Intent i = new Intent(context, ListItemClicked.class);
      //i.setData(Uri.parse(VideoUrl));

      i.putExtra("pname", Title);
      i.putExtra("pdate", nDate);
      i.putExtra("pText", Text);
      i.putExtra("pImage", ImageUrl);


      startActivity(i);

     }

  });




  /*
   * If network is available download the xml from the Internet.
   * If not then try to use the local file from last time.
   */

    if(isNetworkAvailable()){
        Log.i("StackSites", "starting download Task");
        SitesDownloadTask download = new SitesDownloadTask();
        download.execute();
    }else{
        mAdapter = new SitesAdapter(getApplicationContext(), -1,  SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
        sitesList.setAdapter(mAdapter);
    }

}

//Helper method to determine if Internet connection is available.
private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager
            = (ConnectivityManager)  getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo =  connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null &&  activeNetworkInfo.isConnected();
}

/*
 * AsyncTask that will download the xml file for us and store it locally.
 * After the download is done we'll parse the local file.
 */
private class SitesDownloadTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... arg0) {
        //Download the file
        try {
              Downloader.DownloadFromUrl("http://www.link..../news.xml",  openFileOutput("news.xml", Context.MODE_PRIVATE));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result){
        //setup our Adapter and set it to the ListView.
        mAdapter = new SitesAdapter(context, -1,  SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
        sitesList.setAdapter(mAdapter);
        Log.i("StackSites", "adapter size = " + mAdapter.getCount());
    }
}

}
public class Noutati1扩展活动{
私人网站dapter mAdapter;
私有列表视图站点列表;
私人语境;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.i(“StackSites”、“OnCreate()”);
setContentView(R.layout.noutati);
上下文=这个;
//获取对我们的ListView的引用
sitesList=(ListView)findViewById(R.id.sitesList);
SiteList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图v、整数位置、长id){
字符串Title=mAdapter.getItem(pos.getName();
字符串nDate=mAdapter.getItem(pos.getnDate();
字符串ImageUrl=mAdapter.getItem(pos.getImgUrl();
String Text=mAdapter.getItem(pos.getnText();
字符串VideoUrl=mAdapter.getItem(pos.getVideoUrl();
意图i=新意图(上下文,ListItemClicked.class);
//i、 setData(Uri.parse(VideoUrl));
i、 putExtra(“pname”,标题);
i、 putExtra(“更新”,数据);
i、 putExtra(“pText”,文本);
i、 putExtra(“pImage”,ImageUrl);
星触觉(i);
}
});
/*
*如果网络可用,请从Internet下载xml。
*如果没有,则尝试使用上次的本地文件。
*/
if(isNetworkAvailable()){
Log.i(“StackSites”,“开始下载任务”);
SitesDownloadTask download=新建SitesDownloadTask();
下载.execute();
}否则{
mAdapter=newsitesadapter(getApplicationContext(),-1,SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
sitesList.setAdapter(mAdapter);
}
}
//确定Internet连接是否可用的帮助器方法。
专用布尔值isNetworkAvailable(){
连接管理器连接管理器
=(ConnectionManager)getSystemService(Context.CONNECTIVITY_服务);
NetworkInfo activeNetworkInfo=connectivityManager.getActiveNetworkInfo();
返回activeNetworkInfo!=null&&activeNetworkInfo.isConnected();
}
/*
*AsyncTask,它将为我们下载xml文件并将其存储在本地。
*下载完成后,我们将解析本地文件。
*/
私有类SitesDownloadTask扩展了AsyncTask{
@凌驾
受保护的Void doInBackground(Void…arg0){
//下载该文件
试一试{
Downloader.DownloadFromUrl(“http://www.link..../news.xml,openFileOutput(“news.xml”,Context.MODE_PRIVATE));
}catch(filenotfounde异常){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//设置适配器并将其设置为ListView。
mAdapter=newsitesadapter(context,-1,SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
sitesList.setAdapter(mAdapter);
Log.i(“StackSites”,“adapter size=“+mAdapter.getCount());
}
}
}

您可以在
回收视图
列表视图
中将按钮添加到项目布局中。
然后设置操作
单击ItemListener
。单击“添加”按钮时,您可以存储单击到
共享首选项
Sqlite
的行项目的数据。当您打开tab favorite重新加载视图并从存储的数据中获取数据时。

您可以在
回收视图
列表视图
中将按钮添加到项目布局中。
然后设置操作
单击ItemListener
。单击“添加”按钮时,您可以存储单击到
共享首选项
Sqlite
的行项目的数据。当您打开tab favorite reload view并从存储的数据中获取数据时。

我没有看到您的listview代码,先生?这是一个xml解析应用程序。上面的代码显示了从列表中单击新闻时的详细信息(列表位于第一个图像中,单击的新闻位于第二个图像中)。我想在新闻中添加操作栏按钮“添加到收藏夹”(在第二张图片中),我已经更新了代码,谢谢!我没有看到你的listview代码,先生?这是一个xml解析应用程序。上面的代码显示了从列表中单击新闻时的详细信息(列表位于第一个图像中,单击的新闻位于第二个图像中)。我想在新闻中添加操作栏按钮“添加到收藏夹”(在第二张图片中),我已经更新了代码,谢谢!
public class Noutati1 extends Activity {

private SitesAdapter mAdapter;
private ListView sitesList;
private Context context;



@Override
protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    Log.i("StackSites", "OnCreate()");
    setContentView(R.layout.noutati);

    context = this;

    //Get reference to our ListView
    sitesList = (ListView)findViewById(R.id.sitesList);




  sitesList.setOnItemClickListener(new     AdapterView.OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> parent, View v, int pos,long id) {
      String Title = mAdapter.getItem(pos).getName();
      String nDate = mAdapter.getItem(pos).getnDate();
      String ImageUrl = mAdapter.getItem(pos).getImgUrl();
      String Text = mAdapter.getItem(pos).getnText();
      String VideoUrl = mAdapter.getItem(pos).getVideoUrl();
      Intent i = new Intent(context, ListItemClicked.class);
      //i.setData(Uri.parse(VideoUrl));

      i.putExtra("pname", Title);
      i.putExtra("pdate", nDate);
      i.putExtra("pText", Text);
      i.putExtra("pImage", ImageUrl);


      startActivity(i);

     }

  });




  /*
   * If network is available download the xml from the Internet.
   * If not then try to use the local file from last time.
   */

    if(isNetworkAvailable()){
        Log.i("StackSites", "starting download Task");
        SitesDownloadTask download = new SitesDownloadTask();
        download.execute();
    }else{
        mAdapter = new SitesAdapter(getApplicationContext(), -1,  SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
        sitesList.setAdapter(mAdapter);
    }

}

//Helper method to determine if Internet connection is available.
private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager
            = (ConnectivityManager)  getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo =  connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null &&  activeNetworkInfo.isConnected();
}

/*
 * AsyncTask that will download the xml file for us and store it locally.
 * After the download is done we'll parse the local file.
 */
private class SitesDownloadTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... arg0) {
        //Download the file
        try {
              Downloader.DownloadFromUrl("http://www.link..../news.xml",  openFileOutput("news.xml", Context.MODE_PRIVATE));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result){
        //setup our Adapter and set it to the ListView.
        mAdapter = new SitesAdapter(context, -1,  SitesXmlPullParser.getStackSitesFromFile(Noutati1.this));
        sitesList.setAdapter(mAdapter);
        Log.i("StackSites", "adapter size = " + mAdapter.getCount());
    }
}

}