Java 将一个元素从一个listView添加到另一个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
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());
}
}
}