0

我有一個recyclerview顯示列表itens這樣的:recyclerview獲取項目點擊價值和開放的活動 - APK崩潰

Image.jpg 
Name: josh 
Publisher: 1999 

Image2.jpg 
Name: marie 
Publisher: 2002 

... 

我想,當喬什或瑪麗(名稱)用戶點擊它調用檔案.java使用intent並將它的內容(名稱)放到下一個活動中,這樣我就知道應該打開哪個配置文件。 (如果用戶點擊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(); 

    } 
} 
+0

請張貼錯誤日誌 – gStephin

+2

U可以不使用經過R.id.textViewName在putExtralike這個 – Athul

+0

請分享「檔案」活動代碼.. –

回答

4

更改此

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

intent = new Intent(context, Profile.class); 
    intent.putExtra("user", textViewName.getText().toString()); 
    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

+0

如果這有助於您,請將其標記爲正確答案,以便其他人獲得幫助從這個 –

+0

我現在就試試吧!謝謝您的回答! –

+0

歡迎兄弟。如果任何問題仍然有問題,歡迎來幫助你:) :)。如果這有助於標記這是一個正確的答案,所以其他從這 –

1

你需要從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); 
    }