Android 链接未在web浏览器中打开
我制作了ListView适配器,并在每一行中实现了唯一的URL,使用XML制作的相同按钮id,现在每当我尝试单击按钮时,它都会显示“强制关闭” p.S:我是新手Android 链接未在web浏览器中打开,android,listview,listadapter,Android,Listview,Listadapter,我制作了ListView适配器,并在每一行中实现了唯一的URL,使用XML制作的相同按钮id,现在每当我尝试单击按钮时,它都会显示“强制关闭” p.S:我是新手 public class ResultListBaseAdapter extends BaseAdapter { private static ArrayList<ItemResults> ItemResultsarraylist; public static String[] metador = new
public class ResultListBaseAdapter extends BaseAdapter {
private static ArrayList<ItemResults> ItemResultsarraylist;
public static String[] metador = new String[100];
String manu;
String mat;
private LayoutInflater l_Inflater;
private Context context;
protected Context activity;
public ResultListBaseAdapter() {
}
public ResultListBaseAdapter(Context context, ArrayList<ItemResults> resultc) {
ItemResultsarraylist = resultc;
l_Inflater = LayoutInflater.from(context);
this.context=context;
}
public int getCount() {
return ItemResultsarraylist.size();
}
public Object getItem(int position) {
return ItemResultsarraylist.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.item_results_view, null);
holder = new ViewHolder();
holder.txt_date = (TextView) convertView.findViewById(R.id.date);
holder.txt_type = (TextView) convertView.findViewById(R.id.type);
holder.txt_subject = (TextView) convertView.findViewById(R.id.subject);
holder.txt_teacher = (TextView) convertView.findViewById(R.id.teacher);
holder.url =(Button) convertView.findViewById(R.id.btns);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txt_date.setText(ItemResultsarraylist.get(position).getDate());
holder.txt_type.setText(ItemResultsarraylist.get(position).gettype());
holder.txt_subject.setText(ItemResultsarraylist.get(position).getsubject());
holder.txt_teacher.setText(ItemResultsarraylist.get(position).getteacher());
holder.url.setOnClickListener(new OnClickListener()
{
public void onClick(View v )
{
mat=ItemResultsarraylist.get(position).geturl1();
System.out.println("Mat value is"+mat);
Uri uri = Uri.parse(mat);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
System.out.println("Uri is "+intent);
activity.startActivity(intent);
}
});
return convertView;
}
static class ViewHolder {
TextView txt_date;
TextView txt_type;
TextView txt_subject;
TextView txt_teacher;
Button url;
}
}
我想是你的问题
activity.startActivity(intent); //Problem is here you never initialize the activity.
试试这个
holder.url.setOnClickListener(new OnClickListener()
{
public void onClick(View v )
{
mat=ItemResultsarraylist.get(position).geturl1();
System.out.println("Mat value is"+mat);
Uri uri = Uri.parse(mat);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
System.out.println("Uri is "+intent);
context.startActivity(intent); //Change here activity to context.
}
});
或
public ResultListBaseAdapter(Context context, ArrayList<ItemResults> resultc) {
ItemResultsarraylist = resultc;
l_Inflater = LayoutInflater.from(context);
this.context=context;
this.activity = context;
}
公共ResultListBaseAdapter(上下文上下文,ArrayList resultc){
ItemResultsarraylist=resultc;
l_Inflater=从(上下文)开始的布局更平坦;
this.context=context;
这个活动=上下文;
}
发布日志。。我认为问题在于System.out.println(“Mat值为”+Mat);。。。mat为空如果你不知道如何解释,使用System.out.println或logs还有什么意义?对不起,伙计stacktrace是什么意思?System.out.println是验证mat的值是否正确,你应该使用Log.v(“mat值为”,mat);如果我使用startActivity(意图);只有当它给我错误和修复我必须使startactivity方法在该类中不包括任何东西都德你真棒你解决了我的问题工作,我被困了6-6天的上下文。startactivity(意图);
public ResultListBaseAdapter(Context context, ArrayList<ItemResults> resultc) {
ItemResultsarraylist = resultc;
l_Inflater = LayoutInflater.from(context);
this.context=context;
this.activity = context;
}