打开webview时Android应用程序崩溃

打开webview时Android应用程序崩溃,android,android-layout,android-studio,Android,Android Layout,Android Studio,我正在尝试将变量url_1的值从主活动传输到webview。但当我点击按钮时,应用程序崩溃了。我也使用putExtra,但它不起作用。请看下面的代码 public class CustomAdapter extends BaseAdapter{ String [] result; Context context; int [] imageId; private static LayoutInflater inflater=null; public Cust

我正在尝试将变量url_1的值从主活动传输到webview。但当我点击按钮时,应用程序崩溃了。我也使用putExtra,但它不起作用。请看下面的代码

public class CustomAdapter extends BaseAdapter{
    String [] result;
    Context context;
    int [] imageId;
    private static LayoutInflater inflater=null;
    public CustomAdapter(MainActivity mainActivity, String[] prgmNameList, int[] prgmImages) {
        // TODO Auto-generated constructor stub
        result=prgmNameList;
        context=mainActivity;
        imageId=prgmImages;
        inflater = ( LayoutInflater )context.
                getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return result.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public class Holder
    {
        TextView tv;
        ImageView img;
    }
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        Holder holder=new Holder();
        View rowView;
        rowView = inflater.inflate(R.layout.new_custom_list, null);
        holder.tv=(TextView) rowView.findViewById(R.id.textView1);
        holder.img=(ImageView) rowView.findViewById(R.id.imageView1);
        holder.tv.setText(result[position]);
        holder.img.setImageResource(imageId[position]);
        rowView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent myIntent = null;
                if (position == 0) {
                    CustomAdapter.this.context.startActivity(new Intent(CustomAdapter.this.context, BalanceActivity.class));
                }
                if (position == 1) {
                    String url_1 = "http://www.facebook.com";
                    myIntent.putExtra("url", url_1);
                    CustomAdapter.this.context.startActivity(new Intent(CustomAdapter.this.context, WebShow1.class));

                }
            }
        });
        return rowView;
    }
}
你的myIntent是空的。您正在使用以下工具创建它:

Intent myIntent = null;
在不初始化的情况下,您希望将一些数据放入:

myIntent.putExtra("url", url_1);
我不知道您想用MyIntentB做什么,但它必须初始化,例如在活动中使用

myIntent = getIntent();
在适配器中,您可以从上下文引用它,如:

Intent myIntent = ((Activity) context).getIntent();
在使用意图进行操作之前,请确保意图不为空:

if(myIntent!=null){
//do your stuff
}
或者,如果您想在您的案例中启动一项新活动:

 Intent myIntent = null;
                if (position == 0) {
                    myIntent = new Intent(CustomAdapter.this.context, BalanceActivity.class);
                    CustomAdapter.this.context.startActivity(myIntent);
                }
                if (position == 1) {

                    myIntent = new Intent(CustomAdapter.this.context, WebShow1.class);
                    String url_1 = "http://www.facebook.com";
                    myIntent.putExtra("url", url_1);
                    CustomAdapter.this.context.startActivity(myIntent);

                }

您这样做是完全错误的。我的意图变量将始终为空。您正在使用新的意图对象启动活动,然后将VAIBALE添加到不同的意图对象。您需要使用相同的意图对象,首先将变量放入其中,然后启动意图

像这样

在WebView类中

String url = getIntent().getExtras().getString("url");

您好@Opiatefuchs谢谢您的快速回复。。。我已经添加了整个活动代码。请让我知道我需要编辑哪些内容。我是一名初级程序员,仍在学习基本的编码。我投了反对票。在以后的问题中,请不要这样称呼志愿者,谢谢!在该问题中找不到紧急乞讨……是否已删除?
String url = getIntent().getExtras().getString("url");