android中带片段的listview
我在android活动中创建了一个用户片段,当我单击listview项目时,我在活动中实现了listview,它不能调用新活动。 它生成了一个错误::android中带片段的listview,android,listview,android-listview,android-fragments,fragment,Android,Listview,Android Listview,Android Fragments,Fragment,我在android活动中创建了一个用户片段,当我单击listview项目时,我在活动中实现了listview,它不能调用新活动。 它生成了一个错误:: java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.tabsswipe/info.androidhive.tabsswipe.Order}: java.lang.NullPointerException Java代码: pack
java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.tabsswipe/info.androidhive.tabsswipe.Order}: java.lang.NullPointerException
Java代码:
package info.androidhive.tabsswipe;
import info.androidhive.tabsswipe.R;
import android.app.ListFragment;
import android.content.Context;
import android.content.Intent;
import android.database.DataSetObserver;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Plywood extends Fragment{
ListView lv1;
String lv_arr[]={"ORDER","SELLING","SUMMARY","SETTING"};
private FragmentActivity fa;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.plywood, container, false);
//addlistview(rootView);
lv1 = (ListView)rootView.findViewById(R.id.listView1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,lv_arr);
lv1.setAdapter(adapter);
lv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view,
int arg2, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "position:"+arg2,Toast.LENGTH_LONG).show();
if(arg2==0)
{
try {
startActivity(new Intent(rootView.getContext(),Order.class));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getActivity(), "error:"+e,Toast.LENGTH_LONG).show();
}
}
}
});
return rootView;
}
}
package info.androidhive.tabsswipe;
导入info.androidhive.tabsswipe.R;
导入android.app.ListFragment;
导入android.content.Context;
导入android.content.Intent;
导入android.database.DataSetObserver;
导入android.net.Uri;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentActivity;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListAdapter;
导入android.widget.ListView;
导入android.widget.RelativeLayout;
导入android.widget.TextView;
导入android.widget.Toast;
公共类扩展片段{
ListView lv1;
字符串lv_arr[]={“订单”、“销售”、“汇总”、“设置”};
私人碎片活动;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
最终视图rootView=充气机充气(右布局胶合板、容器、假);
//addlistview(rootView);
lv1=(ListView)rootView.findViewById(R.id.listView1);
ArrayAdapter=newArrayAdapter(getActivity(),android.R.layout.simple\u list\u item\u 1,lv\u arr);
lv1.设置适配器(适配器);
lv1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图,
整数arg2,长arg3){
//TODO自动生成的方法存根
Toast.makeText(getActivity(),“position:+arg2,Toast.LENGTH_LONG).show();
如果(arg2==0)
{
试一试{
startActivity(新意图(rootView.getContext(),Order.class));
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
Toast.makeText(getActivity(),“error:+e,Toast.LENGTH_LONG).show();
}
}
}
});
返回rootView;
}
}
除了使用rootView.getContext()
使用getActivity()
如下启动订单
活动
startActivity(new Intent(getActivity(),Order.class));
还要确保您已在清单中注册了活动。尝试使用getApplicationContext()而不是
startActivity(new Intent(getApplicationContext(),Order.class));
并确保应用程序中已存在订单活动。使用getActivity()而不是rootView.getContext()发布完整的StackTracy