Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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 recyclerview获取项目单击值和打开活动-apk崩溃_Android_Android Studio_Android Intent_Android Recyclerview - Fatal编程技术网

Android recyclerview获取项目单击值和打开活动-apk崩溃

Android recyclerview获取项目单击值和打开活动-apk崩溃,android,android-studio,android-intent,android-recyclerview,Android,Android Studio,Android Intent,Android Recyclerview,我有一个recyclerview来显示如下列表: Image.jpg Name: josh Publisher: 1999 Image2.jpg Name: marie Publisher: 2002 ... 我想,当用户单击josh或marie(名称)时,它会使用intent调用Profile.java并将其内容(名称)放到下一个活动中,这样我就知道应该打开哪个概要文件。(如果用户单击marie,则将marie放入下一个活动) 问题是当我点击josh,marie。。。应用程序崩溃了 怎么

我有一个recyclerview来显示如下列表:

Image.jpg
Name: josh
Publisher: 1999

Image2.jpg
Name: marie
Publisher: 2002

...
我想,当用户单击josh或marie(名称)时,它会使用intent调用Profile.java并将其内容(名称)放到下一个活动中,这样我就知道应该打开哪个概要文件。(如果用户单击marie,则将marie放入下一个活动)

问题是当我点击josh,marie。。。应用程序崩溃了

怎么了

//Initializing Views
public ViewHolder(View itemView) {
    super(itemView);
    imageView = (NetworkImageView) itemView.findViewById(R.id.imageViewHero);
    textViewName = (TextView) itemView.findViewById(R.id.textViewName);
    textViewPublisher = (TextView) itemView.findViewById(R.id.textViewPublisher);
    textViewName.setClickable(true);
    textViewName.setOnClickListener(this);
}
@Override
public void onClick(View v) {
    final Intent intent;
    intent =  new Intent(context, Profile.class);
    intent.putExtra("user", R.id.textViewName);
    context.startActivity(intent);
}
谢谢朋友们

我的个人资料:

package com.sl.meetf;

import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class Profile extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        String user = intent.getStringExtra("user");

        String message = user + " welcome to user area";

        Context context = getApplicationContext();
        Toast toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
        toast.show();

    }
}
改变这个

intent =  new Intent(context, Profile.class);
    intent.putExtra("user", R.id.textViewName);
    context.startActivity(intent);

希望能有帮助

编辑:

如果onClick不适合你,试试这个

textViewName.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               intent =  new Intent(context, Profile.class);
               intent.putExtra("user", textViewName.getText().toString());
               context.startActivity(intent);
            }
        });
请检查您的配置文件。类不包含任何错误或共享logcat更改此设置

intent =  new Intent(context, Profile.class);
    intent.putExtra("user", R.id.textViewName);
    context.startActivity(intent);

希望能有帮助

编辑:

如果onClick不适合你,试试这个

textViewName.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               intent =  new Intent(context, Profile.class);
               intent.putExtra("user", textViewName.getText().toString());
               context.startActivity(intent);
            }
        });

请检查您的profile.class是否包含任何错误或共享logcat

您需要从textviewName而不是资源id获取名称。 比如说

  @Override
     public void onClick(View v) {
        final Intent intent;
        intent =  new Intent(context, Profile.class);
        intent.putExtra("user",textviewName.getText().toString());
        context.startActivity(intent);
  }

您需要从textviewName而不是资源id获取名称。 比如说

  @Override
     public void onClick(View v) {
        final Intent intent;
        intent =  new Intent(context, Profile.class);
        intent.putExtra("user",textviewName.getText().toString());
        context.startActivity(intent);
  }


请发布错误日志U无法在putExtralike this中使用pass R.id.textViewName请共享“Profile”活动代码..首先发布错误日志。检查您的
上下文
不能为
null
。不要将
R.id.textViewName
作为值传递给
txtview.getText().toString()
@RichJoe请检查我的答案请发布错误日志U不能在putExtralike中使用pass R.id.textViewName请共享“配置文件”活动代码。首先发布错误日志。检查您的
上下文
不能为
null
。不要将
R.id.textViewName
作为值传递给
txtview.getText().toString()
@RichJoe,请检查我的回答如果这有帮助,请将其标记为正确答案,以便其他人从欢迎兄弟处获得帮助。如果仍然有任何问题,请随时提问,很乐意帮助您:):)。如果这有助于将此标记为正确答案,以便其他人从中获得帮助,则它仍然会崩溃:/the
textViewName.setClickable(true)正确吗?是的,正确。如果这不能工作,请尝试我的更新答案,请取消我编辑的答案。如果这不起作用,请共享您的日志并检查profile.class Activity如果这有助于您,请将此标记为正确答案,以便其他人获得此欢迎兄弟的帮助。如果仍然有任何问题,请随时提问,很乐意帮助您:):)。如果这有助于将此标记为正确答案,以便其他人从中获得帮助,则它仍然会崩溃:/the
textViewName.setClickable(true)正确吗?是的,正确。如果这不能工作,请尝试我的更新答案,请取消我编辑的答案。如果这不起作用,请分享您的日志并检查profile.class活动