Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Java 将textView转换为Boolean以避免:类型Intent中的方法putExtra(String,Boolean)不适用于参数_Java_Android_String_Textview_Boolean - Fatal编程技术网

Java 将textView转换为Boolean以避免:类型Intent中的方法putExtra(String,Boolean)不适用于参数

Java 将textView转换为Boolean以避免:类型Intent中的方法putExtra(String,Boolean)不适用于参数,java,android,string,textview,boolean,Java,Android,String,Textview,Boolean,我在eclipse中得到一个错误,声明:类型Intent中的方法putExtra(String,boolean)不适用于参数(String,TextView) 我相信我需要将textView更改为布尔值,但是当我尝试这样做时,它会导致其他错误发生。在这种情况下,避免此错误的最佳方法是什么: public class CustomListViewAdapter extends ArrayAdapter<Cmd> { Activity context; List<C

我在eclipse中得到一个错误,声明:类型Intent中的方法putExtra(String,boolean)不适用于参数(String,TextView)

我相信我需要将textView更改为布尔值,但是当我尝试这样做时,它会导致其他错误发生。在这种情况下,避免此错误的最佳方法是什么:

public class CustomListViewAdapter extends ArrayAdapter<Cmd> {
    Activity context;
    List<Cmd> videos;

    public CustomListViewAdapter(Activity context, List<Cmd> videos) {
        super(context, R.layout.list_item2, videos);

        this.context = context;
        this.videos = videos;
    }

    /* private view holder class */
    private class ViewHolder {
        ImageView imageView;
        TextView txtSuccess;
        TextView txtCmd;
        TextView txtPrice;
    }

    public void run() {

        Intent intent = new Intent(context, ViewVideo.class);
        ViewHolder holder;
        intent.putExtra("videofilename", holder.txtCmd);
        context.startActivity(intent);
    }

    public Cmd getItem(int position) {
        return videos.get(position);
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        LayoutInflater inflater = context.getLayoutInflater();
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.list_item2, null);
            holder = new ViewHolder();
            holder.txtSuccess = (TextView) convertView
                    .findViewById(R.id.success);
            holder.txtCmd = (TextView) convertView.findViewById(R.id.cmd);
            holder.txtPrice = (TextView) convertView.findViewById(R.id.price);
            holder.imageView = (ImageView) convertView
                    .findViewById(R.id.thumbnail);
            convertView.setTag(holder);

        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        Cmd cmd = (Cmd) getItem(position);

        holder.txtSuccess.setText(cmd.getVideoName());
        holder.txtSuccess.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                run();
            }
        });
        holder.txtCmd.setText(cmd.getCmd());
        holder.txtCmd.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                run();
            }
        });

        holder.txtPrice.setText(cmd.getVideoURL() + "");
        holder.txtPrice.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                run();
            }
        });

        holder.imageView.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                run();
            }
        });
        return convertView;

    }

}
公共类CustomListViewAdapter扩展了ArrayAdapter{
活动语境;
列出视频;
公共CustomListViewAdapter(活动上下文、列表视频){
超级(上下文、R.layout.list_item2、视频);
this.context=上下文;
这个。视频=视频;
}
/*私有视图持有者类*/
私有类视窗持有者{
图像视图图像视图;
TextView txtSuccess;
TextView-txtCmd;
TextView txtPrice;
}
公开募捐{
意向意向=新意向(上下文,ViewVideo.class);
视窗座;
intent.putExtra(“videofilename”,holder.txtCmd);
背景。开始触觉(意图);
}
public Cmd getItem(int位置){
返回视频。获取(位置);
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视窗座;
LayoutInflater充气器=上下文。getLayoutInflater();
if(convertView==null){
convertView=充气机充气(R.layout.list_item2,空);
holder=新的ViewHolder();
holder.txtSuccess=(TextView)convertView
.findviewbyd(R.id.success);
holder.txtCmd=(TextView)convertView.findViewById(R.id.cmd);
holder.txtPrice=(TextView)convertView.findViewById(R.id.price);
holder.imageView=(imageView)convertView
.findviewbyd(R.id.thumboil);
convertView.setTag(支架);
}否则{
holder=(ViewHolder)convertView.getTag();
}
Cmd=(Cmd)getItem(位置);
holder.txtsucces.setText(cmd.getVideoName());
holder.txtSuccess.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
run();
}
});
holder.txtCmd.setText(cmd.getCmd());
holder.txtCmd.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
run();
}
});
holder.txtPrice.setText(cmd.getVideoURL()+);
holder.txtPrice.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
run();
}
});
holder.imageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
run();
}
});
返回视图;
}
}
在“获取视图”中:

final  Cmd cmd = (Cmd) getItem(position);
在onclick中:

run(cmd.getCmd());
该部分:

ViewHolder holder;
intent.putExtra("videofilename", holder.txtCmd);  
不会得到任何信息,holder.txtCmd.getText不会返回文件名,相反,您可以通过函数run(stringfilename)作为参数传递文件名。然后您将能够直接将其作为文本传递

The method putExtra(String, boolean) in the type Intent is not applicable for the arguments (String, TextView)
public Intent putExtra(字符串名称,布尔值)
name是键,值是布尔值。所以它需要一个布尔值

我想你也不想这样。我猜您想将textview中的文本传递给另一个活动

看@

您可以使用
视图
对象v

holder.txtCmd.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                TextView tv =(TextView)v;   // cast to textview 
                Intent intent = new Intent(context, ViewVideo.class);
                intent.putExtra("videofilename", tv.getText().toString());
                // use getText to get the text from textview
                context.startActivity(intent);
            }
        });

或者您可以在视图上使用
setTag
getTag

您只能绑定可序列化的数据,您的textview是您以前活动的ui元素。为了给您适当的帮助,您在新的意图中尝试如何处理您的textview?是否只需要其中的文本?是否希望将textview中的文本传递给活动?
holder.txtCmd.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                TextView tv =(TextView)v;   // cast to textview 
                Intent intent = new Intent(context, ViewVideo.class);
                intent.putExtra("videofilename", tv.getText().toString());
                // use getText to get the text from textview
                context.startActivity(intent);
            }
        });