2013-12-11 54 views
1

我是初学者的android。我有问题要从编辑视图中获取文本字符串。请帮我修复它。非常感谢。 CommentActivity.java从edittext获取字符串android是错误

public class CommentActivity extends Fragment { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 
    TextView cmt; 
    ArrayAdapter<String> adapter; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.comment_layout, container, false); 
     Button send = (Button) v.findViewById(R.id.send_comment); 
     cmt = (TextView) v.findViewById(R.id.text_comment); 
     ListView lst = (ListView) v.findViewById(R.id.list_comments); 
     String[] values = new String[] {}; 
     adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, values); 
     lst.setAdapter(adapter); 
     send.setOnClickListener(new View.OnClickListener() 
       { 
       public void onClick(View v) 
       { 
        CharSequence content = cmt.getText(); 
        cmt.setText(""); 
        adapter.add((String) content); 
        adapter.notifyDataSetChanged(); 
        Toast.makeText(getActivity(), content, Toast.LENGTH_SHORT).show(); 
       } 
      }); 
     return v; 
    } 
} 

其错误:

12-11 16:39:10.244: E/PlayerDetailActivity(25813): Uncaught exception 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): java.lang.ClassCastException: android.text.SpannableStringBuilder 
cannot be cast to java.lang.String 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at RanhTV.Controller.CommentActivity$1.onClick(CommentActivity.java:36) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.view.View.performClick(View.java:4424) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.view.View$PerformClick.run(View.java:18383) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.os.Handler.handleCallback(Handler.java:733) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.os.Handler.dispatchMessage(Handler.java:95) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.os.Looper.loop(Looper.java:137) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at android.app.ActivityThread.main(ActivityThread.java:4998) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at java.lang.reflect.Method.invokeNative(Native Method) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at java.lang.reflect.Method.invoke(Method.java:515) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
12-11 16:39:10.244: E/PlayerDetailActivity(25813): at dalvik.system.NativeStart.main(Native Method) 
+0

代替铸造用toString方法在数组列表中添加字符串:'adapter.add(content.toString() );' –

回答

4

只是把

adapter.add(String.valueOf(cmt.getText()); 
+0

感谢它的工作。但我有新的错误,如果你能帮助我,请。 处理:RanhTV.Controller,PID:29327 在android上的java.util.AbstractList.add(AbstractList.java:425) java.lang.UnsupportedOperationExceptionat java.util.AbstractList.add(AbstractList.java:404) 。 widget.ArrayAdapter.add(ArrayAdapter.java:179) atRanhTV.Controller.CommentActivity $ 1.onClick(CommentActivity.java:36) –

-1

应该是这样的,

String content = cmt.getText().toString(); 
    adapter.add(content); 
+0

谢谢。但它仍然不起作用 –

+0

可以请你发送错误? –

+0

它错误如上。 –

0
String content = cmt.getText().toString(); 
cmt.setText(""); 
adapter.add(content); 
+0

我试试这个,但它仍然错误 –

+0

什么是错误? –

0

您可以尝试如下:

adapter.add(content.toString()); 
0

试试这个:

StringBuilder sb = new StringBuilder(content.length()); sb.append(content); adapter.add(sb.toString());