2012-09-29 49 views
0

我是初學者,我需要解決這個問題。android傳遞數據新活動

09-29 11:53:50.539: E/AndroidRuntime(658): FATAL EXCEPTION: main 
09-29 11:53:50.539: E/AndroidRuntime(658): java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView 
09-29 11:53:50.539: E/AndroidRuntime(658): at com.example.listactivity.MainActivity$MyCustomAdapter$1.onClick(MainActivity.java:91) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.view.View.performClick(View.java:3511) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.view.View$PerformClick.run(View.java:14105) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.os.Handler.handleCallback(Handler.java:605) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.os.Looper.loop(Looper.java:137) 
09-29 11:53:50.539: E/AndroidRuntime(658): at android.app.ActivityThread.main(ActivityThread.java:4424) 
09-29 11:53:50.539: E/AndroidRuntime(658): at java.lang.reflect.Method.invokeNative(Native Method) 
09-29 11:53:50.539: E/AndroidRuntime(658): at java.lang.reflect.Method.invoke(Method.java:511) 
09-29 11:53:50.539: E/AndroidRuntime(658): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
09-29 11:53:50.539: E/AndroidRuntime(658): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
09-29 11:53:50.539: E/AndroidRuntime(658): at dalvik.system.NativeStart.main(Native Method) 

我mainactivity.java

public View getView(int position, View convertView, ViewGroup parent) { 

      LayoutInflater inflater = getLayoutInflater(); 

      View row = inflater.inflate(R.layout.row, parent, false); 

      TextView textview = (TextView) row.findViewById(R.id.tvTop); 
      ImageView imageview = (ImageView) row 
        .findViewById(R.id.list_image); 

      textview.setText(data_topText[position]); 
      imageview.setImageResource(data_image[position]); 

      row.setOnClickListener(new OnClickListener() { 

       public void onClick(View convertView) { 

        String product = ((TextView) convertView).getText().toString(); 

        Intent i = new Intent(getApplicationContext(), 
          SecondScreenActivity.class); 
        i.putExtra("name", product); 

        startActivity(i); 


       } 
      }); 

      return (row); 
+0

例如,您可以顯示您的onCreate方法和活動XML? –

+0

接受有史以來的答案 –

回答

1

你要這個

public void onClick(View row) { 
      TextView textview = (TextView) row.findViewById(R.id.tvTop); 

      String product = textView.getText().toString(); 

      Intent i = new Intent(getApplicationContext(), 
        SecondScreenActivity.class); 
      i.putExtra("name", product); 

      startActivity(i); 


     } 

您正在嘗試佈局轉換爲一個TextView。 LinearLayout正在接收點擊。

+0

它的工作。謝謝 – user1303250

+0

http://stackoverflow.com/questions/12650505/how-to-passing-listview-images-passing-another-activity?這是我的真實可以解決這個問題並解釋我嗎?請 – user1303250

2
String product = ((TextView) convertView).getText().toString(); 

這裏,convertView不是TextView。這是一個LinearLayout

你可能想要這個:

String product = ((TextView) convertView.findViewbyId(R.id.tvTop)).getText().toString(); 
+0

http://stackoverflow.com/questions/12650505/how-to-passing-listview-images-passing-another-activity?這是我的另一個問題 – user1303250