Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在android中使用intent_Android - Fatal编程技术网

无法在android中使用intent

无法在android中使用intent,android,Android,我正在使用coustomlist视图获取默认数据,但无法在customlistview中设置操作调用意图,我正在使用fallowing代码。每次单击视图时,我都希望number变量存储当前视图的电话号码并启动操作调用意图 public class DataModel { private String phonenumber; private int anInt; private double aDouble; private String OtherData;

我正在使用coustomlist视图获取默认数据,但无法在customlistview中设置操作调用意图,我正在使用fallowing代码。每次单击视图时,我都希望number变量存储当前视图的电话号码并启动操作调用意图

public class DataModel {
    private String phonenumber;
    private int anInt;
    private double aDouble;
    private String OtherData;

    public DataModel(String phonenumber, int anInt, double aDouble, String otherData) {
        this.phonenumber = phonenumber;
        this.anInt = anInt;
        this.aDouble = aDouble;
        OtherData = otherData;
    }


    public String getphonenumber() {
        return phonenumber;
    }

    public void setphonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public int getAnInt() {
        return anInt;
    }

    public void setAnInt(int anInt) {
        this.anInt = anInt;
    }

    public double getaDouble() {
        return aDouble;
    }

    public void setaDouble(double aDouble) {
        this.aDouble = aDouble;
    }

    public String getOtherData() {
        return OtherData;
    }

    public void setOtherData(String otherData) {
        OtherData = otherData;
    }
}
导入android.content.Context; 导入android.content.Intent; 导入android.net.Uri; 导入android.util.Log; 导入android.view.LayoutInflater; 导入android.view.view; 导入android.view.ViewGroup; 导入android.widget.BaseAdapter; 导入android.widget.Button; 导入android.widget.TextView; 导入android.widget.Toast; 导入java.util.ArrayList; /** *使用IntelliJ IDEA创建。 *用户:沙哈布 *日期:2012年8月22日 *时间:上午11:37 *要更改此模板,请使用文件|设置|文件模板。 */ 公共类CustomAdapter扩展了BaseAdapter{ 私有静态最终字符串标记=CustomAdapter.class.getSimpleName; ArrayList列表数组; 公共自定义适配器{ listArray=新的ArrayList5; listArray.addnew DataModel7760576191,5,1.8,Java; listArray.addnew DataModel7760576191,10,2.8,Python; listArray.addnew DataModel7760576191,15,3.8,Django; listArray.addnew DataModel7760576191,20,4.8,Groovy; listArray.addnewdatamodel7760576191,25,5.8,Maven; } @凌驾 公共整数getCount{ return listArray.size;//列表中的元素总数 } @凌驾 公共对象getItemint i{ return listary.geti;//列表中的单个项 } @凌驾 公共长条{ 返回i;//索引号 } @凌驾 公共视图getViewint索引、视图视图、最终视图组父视图{ 如果视图==null{ LayoutFlater充气器=LayoutFlater.fromparent.getContext; 视图=充气机。充气机。布局。单个列表项目,父项,false; } 最终数据模型DataModel=listArray.getindex; TextView TextView=TextView view.findviewbydr.id.tv\u string\u数据; textView.setTextdataModel.getphonenumber; Button Button=Button view.findViewByIdR.id.btn\u number\u数据; button.setText+dataModel.getanit; textView=textView view.findviewbydr.id.tv\u double\u数据; textView.setText+dataModel.getaDouble; //按钮单击侦听器 //如果用户单击按钮,这段代码将运行 //因为,我们只在按钮上设置单击侦听器 button.SetOnClickListener新建视图.OnClickListener{ @凌驾 公共void onclick视图{ Log.dTAG,字符串:+dataModel.getphonenumber; Log.dTAG,int:+dataModel.getanit; Log.dTAG,双:+dataModel.getaDouble; Log.dTAG,otherData:+dataModel.getOtherData; Toast.makeTextparent.getContext,点击按钮:+dataModel.getAnit,Toast.LENGTH\u SHORT.show; } }; //如果您注释掉了上面的代码块 //激活这段代码 //然后,如果用户单击列表视图中除按钮之外的任何视图 //这段代码将被执行 //因为我们在整个视图上设置了click侦听器 view.SetOnClickListener新建view.OnClickListener{ @凌驾 公共void onclick视图{ Log.dTAG,字符串:+dataModel.getphonenumber; Log.dTAG,int:+dataModel.getanit; Log.dTAG,双:+dataModel.getaDouble; Log.dTAG,otherData:+dataModel.getOtherData; 字符串编号=dataModel.getphonenumber.toString; Intent callIntent=新intentint.ACTION\u调用; callIntent.setDataUri.parsetel:+number; startactivitycalintent; Toast.makeTextparent.getContext,单击视图:+dataModel.getOtherData,Toast.LENGTH\u SHORT.show; } }; 返回视图; } } 导入android.app.Activity; 导入android.os.Bundle; 导入android.util.Log; 导入android.view.view; 导入android.widget.AdapterView; 导入android.widget.ListView; 导入android.widget.Toast; 公共类MainActivity扩展了活动{ 私有静态最终字符串标记=MainActivity.class.getSimpleName; /** *在首次创建活动时调用。 */ @凌驾 public void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_main; ListView ListView=ListView findViewByIdR.id.list\u数据; CustomAdapter CustomAdapter=新的CustomAdapter; listView.setAdaptercustomAdapter; //我们在列表视图中添加了一个按钮 //因此,单击项目时的列表视图无法获取事件 //我们需要在cust中实现click listener om适配器 //如果不在列表视图中添加按钮,此方法将起作用 //listView.SetOnItemClickListener新建AdapterView.OnItemClickListener{ //@覆盖 //public void nomine mclick adapterView adapterView、视图视图、int i、long l{ // //DataModel DataModel=DataModel adapterView.getItemAtPositioni; // //Log.dTAG,字符串:+dataModel.getName; //Log.dTAG,int:+dataModel.getanit; //Log.dTAG,双:+dataModel.getaDouble; //Log.dTAG,otherData:+dataModel.getOtherData; // //Toast.makeTextMyActivity.this,单击的项:+i,Toast.LENGTH\u SHORT.show; // } // }; }
} 要从baseadpater启动活动,必须执行以下操作:

 Intent callIntent = new Intent(Intent.ACTION_CALL);  
                    callIntent.setData(Uri.parse("tel:"+number));  
                            in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                            context.startActivity(callIntent );

先生,我尝试了你的代码,但我有一个问题,我在我的列表视图中提到了deafult的电话号码,当用户单击一个视图时,我想从textview获取该电话号码,并使用Action_call Intentive调用该号码,我在没有BaseAdapters的情况下尝试过这个方法,效果很好,但是我一直在使用BaseAdapters,您正在使用日志打印数据模型信息。所以它是否给出输出意味着是否给出了电话号码。?是的,先生,它给出了输出,但同时我需要将phonemuber表单textview保存在数字变量中,并使用它调用操作\调用意图调用用户。为此,您可以使用textview.getText.toString