我有一个项目列表(Stations.java),我试图在其中一个项目中实施点击以显示所有细节。它正确显示了项目列表,但当我尝试重定向到StationDetails时,我在setOnItemClickListener上发生了错误。Android:单击列表项目后显示新片段的问题
错误:
android.content.ActivityNotFoundException: Unable to find explicit activity class
但我觉得当我执行的意图误差。我的意思是说有什么问题。
下面是代码:
public class Stations extends Fragment {
final String TAG = "Debugging";
final String Url = "...";
private ListView lstStations;
ArrayList<Station> dataset;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.station_list, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
lstStations = (ListView)getView().findViewById(R.id.lstStations);
RequestStations();
lstStations.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
getActivity();
TextView textViewName = (TextView) view.findViewById(R.id.txt_row_station);
String stationName = textViewName.getText().toString();
for(Station obj : dataset) {
if(obj.getName() == stationName){
Log.d("############","Items " + stationName);
Intent intent = new Intent(getActivity(), StationDetails.class);
startActivity(intent);
}
}
}
});
}
... }
下面是我试图展现片段。
public class StationDetails extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//return super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.station_details, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}
下面是清单,也许可以帮助。
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MyActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
感谢
我已经过测试并且不起作用。我新的工作与Android,所以我真的不知道如何运作的一切。让我来向你解释我想要的。我有一张带有发票清单的片段,现在我想要在用户点击一个项目时显示所有细节。看到你的评论后,也许我所要做的就是在onclicklistener中打开一个新的活动,而不是一个片段(我知道你的答案后我的代码是错误的),不是吗?如果是对的,我该怎么做? – gon250 2014-10-17 13:52:22
什么没有工作?打开片段?好吧,我编辑答案检查编辑答案@ gon250 – Elltz 2014-10-17 14:15:19
谢谢,这是你评论的第一种方式。 – gon250 2014-10-18 22:01:47