Java 横向模式下的Android多片段布局
虽然我的代码可以工作,但我现在不知道它实际上在做什么。 我的应用程序是一个RSS阅读器,主要内容是一个Java 横向模式下的Android多片段布局,java,android,android-fragments,android-intent,android-implicit-intent,Java,Android,Android Fragments,Android Intent,Android Implicit Intent,虽然我的代码可以工作,但我现在不知道它实际上在做什么。 我的应用程序是一个RSS阅读器,主要内容是一个片段,包含一个列表视图,其中包含新闻故事对象。单击列表项时,会打开一个Intent,其中包含从RSS链接的网站 现在的问题是,我不理解这里的Intent,这不是我以前使用过的Intents的方式 另外,我必须这样做,当我改变方向时,原始配置文件片段占据屏幕的左半部分,链接网页占据屏幕的右半部分。我把它弄得乱七八糟,一无所获。我做了一些关于方向变化的研究,但我想用Fragments做一些事情,它总
片段
,包含一个列表视图
,其中包含新闻故事
对象。单击列表项时,会打开一个Intent
,其中包含从RSS链接的网站
现在的问题是,我不理解这里的Intent
,这不是我以前使用过的Intent
s的方式
另外,我必须这样做,当我改变方向时,原始配置文件片段
占据屏幕的左半部分,链接网页占据屏幕的右半部分。我把它弄得乱七八糟,一无所获。我做了一些关于方向变化的研究,但我想用Fragment
s做一些事情,它总是改变一切的工作方式。无论如何,这里是片段
代码。任何想法都将不胜感激
public class HeadlineFragment extends Fragment {
EditText input;
Button search;
ListView headlines;
NewsDataSource ds;
public HeadlineFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_headline,container,false);
input = (EditText)v.findViewById(R.id.txtInput);
search = (Button)v.findViewById(R.id.btnSearch);
headlines = (ListView)v.findViewById(R.id.listView);
try {
ds = new NewsDataSource();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
headlines.setAdapter(new NewsDataSourceAdapter(this.getActivity(), ds));
headlines.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent,View view, int position, long id)
{
String url = NewsDataSource.stories[position].getLink();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});
return v;
}
/*
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
*/
}
public类HeadlineFragment扩展了片段{
编辑文本输入;
按钮搜索;
列表视图标题;
新闻数据源ds;
公共标题片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图v=充气机。充气(右布局。碎片标题,容器,假);
输入=(EditText)v.findViewById(R.id.txtInput);
搜索=(按钮)v.findviewbyd(R.id.btnSearch);
标题=(ListView)v.findViewById(R.id.ListView);
试一试{
ds=新的新闻数据源();
}捕获(执行例外){
e、 printStackTrace();
}捕捉(中断异常e){
e、 printStackTrace();
}
setAdapter(新的NewsDataSourceAdapter(this.getActivity(),ds));
headlines.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
字符串url=NewsDataSource.stories[position].getLink();
意向i=新意向(意向.行动\视图);
i、 setData(Uri.parse(url));
星触觉(i);
}
});
返回v;
}
/*
@凌驾
公共无效OnConfiguration已更改(配置newConfig){
super.onConfigurationChanged(newConfig);
}
*/
}
首先,关于意图
,它是一种隐含的意图
。当您将action
设置为action\u视图
并添加一个URI/URL作为额外内容时,操作系统会收到一条消息,表明您希望打开一个可以导航到该URI/URL的应用程序
其次,为了在横向模式下显示双窗格布局,您必须以片段
而不是当前所做的活动
显示RSS内容,并且您必须在横向模式下以活动
并排显示这些片段。有关如何在纵向模式下显示多窗格主细节布局的详细说明,请参见示例
参考资料:
1.
2.这正是我要找的,但找不到。非常感谢你。