Android recyclerview获取项目单击值和打开活动-apk崩溃
我有一个recyclerview来显示如下列表: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。。。应用程序崩溃了 怎么
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,请检查我的回答如果这有帮助,请将其标记为正确答案,以便其他人从欢迎兄弟处获得帮助。如果仍然有任何问题,请随时提问,很乐意帮助您:):)。如果这有助于将此标记为正确答案,以便其他人从中获得帮助,则它仍然会崩溃:/thetextViewName.setClickable(true)代码>正确吗?是的,正确。如果这不能工作,请尝试我的更新答案,请取消我编辑的答案。如果这不起作用,请共享您的日志并检查profile.class Activity如果这有助于您,请将此标记为正确答案,以便其他人获得此欢迎兄弟的帮助。如果仍然有任何问题,请随时提问,很乐意帮助您:):)。如果这有助于将此标记为正确答案,以便其他人从中获得帮助,则它仍然会崩溃:/thetextViewName.setClickable(true)代码>正确吗?是的,正确。如果这不能工作,请尝试我的更新答案,请取消我编辑的答案。如果这不起作用,请分享您的日志并检查profile.class活动