Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用bufferedreader和delimiter读取多个链接_Java_Android_Bufferedreader_Delimiter - Fatal编程技术网

Java 使用bufferedreader和delimiter读取多个链接

Java 使用bufferedreader和delimiter读取多个链接,java,android,bufferedreader,delimiter,Java,Android,Bufferedreader,Delimiter,我正在尝试从文本文件加载多个url rss链接。到目前为止,它只能从文件中加载一个链接。我尝试使用分隔符,但似乎不起作用。感谢您的帮助 代码 RssFragment public class RssFragment extends Fragment implements OnItemClickListener { private ProgressBar progressBar; private ListView listView; private View view; @Override

我正在尝试从文本文件加载多个url rss链接。到目前为止,它只能从文件中加载一个链接。我尝试使用分隔符,但似乎不起作用。感谢您的帮助

代码

RssFragment

public class RssFragment extends Fragment implements OnItemClickListener 
{

private ProgressBar progressBar;
private ListView listView;
private View view;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    if (view == null) 
    {
        view = inflater.inflate(R.layout.fragment_layout, container, false);
        progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
        listView = (ListView) view.findViewById(R.id.listView);
        listView.setOnItemClickListener(this);
        startService();
    } 
    else 
    {
        ViewGroup parent = (ViewGroup) view.getParent();
        parent.removeView(view);
    }
    return view;
}

private void startService() 
{
    Intent intent = new Intent(getActivity(), RssService.class);
    intent.putExtra(RssService.RECEIVER, resultReceiver);
    getActivity().startService(intent);
}

private final ResultReceiver resultReceiver = new ResultReceiver(new Handler()) 
{
    @SuppressWarnings("unchecked")
    @Override
    protected void onReceiveResult(int resultCode, Bundle resultData) 
    {
        progressBar.setVisibility(View.GONE);
        List<RssItem> items = (List<RssItem>) resultData.getSerializable(RssService.ITEMS);
        if (items != null) 
        {
            RssAdapter adapter = new RssAdapter(getActivity(), items);
            listView.setAdapter(adapter);
        } 
        else 
        {
            Toast.makeText(getActivity(), "An error occured while downloading the rss feed.",
                    Toast.LENGTH_LONG).show();
        }
    };
};

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
{
    RssAdapter adapter = (RssAdapter) parent.getAdapter();
    RssItem item = (RssItem) adapter.getItem(position);
    Uri uri = Uri.parse(item.getLink());
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
}
}
public类rssframent扩展了片段实现的McClickListener
{
私人ProgressBar ProgressBar;
私有列表视图列表视图;
私人视野;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRetainInstance(真);
}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
如果(视图==null)
{
视图=充气机。充气(R.layout.fragment\u布局,容器,假);
progressBar=(progressBar)view.findViewById(R.id.progressBar);
listView=(listView)view.findViewById(R.id.listView);
setOnItemClickListener(this);
startService();
} 
其他的
{
ViewGroup parent=(ViewGroup)view.getParent();
parent.removeView(视图);
}
返回视图;
}
私有void startService()
{
Intent Intent=新的Intent(getActivity(),RssService.class);
intent.putExtra(RssService.RECEIVER、resultReceiver);
getActivity().startService(intent);
}
私有最终ResultReceiver ResultReceiver=新ResultReceiver(新处理程序())
{
@抑制警告(“未选中”)
@凌驾
ReceiveResult上的受保护无效(int-resultCode、Bundle-resultData)
{
progressBar.setVisibility(View.GONE);
列表项=(列表)resultData.getSerializable(RssService.items);
如果(项!=null)
{
RssAdapter adapter=新的RssAdapter(getActivity(),items);
setAdapter(适配器);
} 
其他的
{
Toast.makeText(getActivity(),“下载rss源时出错。”,
Toast.LENGTH_LONG).show();
}
};
};
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
RssAdapter adapter=(RssAdapter)parent.getAdapter();
RssItem项=(RssItem)适配器.getItem(位置);
Uri=Uri.parse(item.getLink());
意图=新意图(Intent.ACTION\u视图,uri);
星触觉(意向);
}
}

如何将解析结果添加到列表中,以及如何打印它们?(我们可以看到parse()方法吗?)您可以共享Raw/xml文件吗。只是想看看您是如何将数据保存在内部的分隔符代码在哪里???…您可以尝试下面的代码:while((line=br.readLine())!=null){rsslink.append(line);}String[]arr=rsslink.toString().split(;);对于(inti=0;i>”+arr[i]);}这个方法不起作用..这是我第一次实际尝试的,我一定是在创建问题时复制了这里的旧代码。它甚至不用一个墨水就可以运行。另外,原始文件实际上是一个文本文件,而不是XMLALL@DoubleDouble。我正在将整个RssService类和RSSF片段类添加到上面的代码中。我相信这就是你想要的吗?
http://www.engadget.com/rss.xml; http://www.pcworld.com/index.rss; http://feeds.feedburner.com/SpoonForkBacon?format=xml; 
public class RssFragment extends Fragment implements OnItemClickListener 
{

private ProgressBar progressBar;
private ListView listView;
private View view;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    if (view == null) 
    {
        view = inflater.inflate(R.layout.fragment_layout, container, false);
        progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
        listView = (ListView) view.findViewById(R.id.listView);
        listView.setOnItemClickListener(this);
        startService();
    } 
    else 
    {
        ViewGroup parent = (ViewGroup) view.getParent();
        parent.removeView(view);
    }
    return view;
}

private void startService() 
{
    Intent intent = new Intent(getActivity(), RssService.class);
    intent.putExtra(RssService.RECEIVER, resultReceiver);
    getActivity().startService(intent);
}

private final ResultReceiver resultReceiver = new ResultReceiver(new Handler()) 
{
    @SuppressWarnings("unchecked")
    @Override
    protected void onReceiveResult(int resultCode, Bundle resultData) 
    {
        progressBar.setVisibility(View.GONE);
        List<RssItem> items = (List<RssItem>) resultData.getSerializable(RssService.ITEMS);
        if (items != null) 
        {
            RssAdapter adapter = new RssAdapter(getActivity(), items);
            listView.setAdapter(adapter);
        } 
        else 
        {
            Toast.makeText(getActivity(), "An error occured while downloading the rss feed.",
                    Toast.LENGTH_LONG).show();
        }
    };
};

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
{
    RssAdapter adapter = (RssAdapter) parent.getAdapter();
    RssItem item = (RssItem) adapter.getItem(position);
    Uri uri = Uri.parse(item.getLink());
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
}
}