Error in Android TextView Dynamically



I have created xml file it every updated every time i send a message. I show a message previously send.



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://ift.tt/nIICcg"
android:layout_width="fill_parent"
android:id="@+id/linearLayoutMain"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ScrollView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" >
<TextView
android:id="@+id/textOutput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp" />
</ScrollView>

<LinearLayout
android:id="@+id/linearLayout1"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:baselineAligned="true">
<EditText android:layout_weight="1" android:id="@+id/textInput"
android:layout_height="45dp" android:layout_width="0dip">
<requestFocus></requestFocus>
</EditText>
<Button android:text="@string/send"
android:layout_height="45dp" android:layout_width="125dp"
android:id="@+id/btnSend"></Button>
</LinearLayout>
</LinearLayout>


My java code look like... sent message is updated successfully. but i have created text view dynamically not working in do in background.



public class Chat extends Activity{
private ProgressDialog pDialog;
EditText textChat;
Button btnSend;
private static final String TAG_SUCCESS = "success";
private static String login_rest = "http://ift.tt/1nBqReU";
String user_id;
String friend_id;
String chatMsg;
JSONParser jsonParser = new JSONParser();
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.chat);
Intent i = getIntent();
user_id = Integer.toString(i.getExtras().getInt("user_id"));
//user_id= i.getExtras().getInt("user_id");
friend_id= i.getExtras().getString("id");
System.out.println(user_id+" @@@@@@@@@@@@@@@@@@@ "+friend_id);
btnSend = (Button) findViewById(R.id.btnSend);
//textChat = (EditText) findViewById(R.id.messages);

btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(user_id+" @@@@@@@@@@@@@@@@@@@ "+friend_id);
new Send().execute();
}
});
}
public class Send extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Chat.this);
pDialog.setMessage("Send Message.....");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {

textChat = (EditText) findViewById(R.id.textInput);
String chatMsgs = textChat.getText().toString();
System.out.println("Message: "+chatMsgs);
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("user_id", user_id));
params.add(new BasicNameValuePair("friend_id", friend_id));
params.add(new BasicNameValuePair("call_name", "sendMessage"));
params.add(new BasicNameValuePair("message", chatMsgs));
// System.out.println("Input"+params.toString());
// Note that create product url accepts POST method
jsonParser = new JSONParser();
JSONObject jsons = jsonParser.makeHttpRequest(login_rest,
"POST", params);
System.out.println("Outputffsfsdfsfsfsdffsdfsdfsdfsdf"+jsons.toString());
try {
int success = jsons.getInt(TAG_SUCCESS);
// String message = json.getString("message");
//System.out.println(message);
if (success == 1) {

LinearLayout linear=(LinearLayout) findViewById(R.id.linearLayoutMain);
TextView [] txt =new TextView[3];

for(int i=0;i<10;i++)
{
txt[i]=new TextView(Chat.this);
txt[i].setText("text "+i);
txt[i].setLayoutParams(new GridView.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,1));
linear.addView(txt[i]);
}



} else {

//error_msg.setText(message);
}
} catch (JSONException e) {
e.printStackTrace();
}


return null;
}


/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}
}
}


Erro in logcat is::::



3
08-27 13:16:21.354: I/System.out(917): 1 @@@@@@@@@@@@@@@@@@@ 3
08-27 13:16:27.434: I/System.out(917): 1 @@@@@@@@@@@@@@@@@@@ 3
08-27 13:16:27.565: I/System.out(917): Message: were
08-27 13:16:28.444: I/System.out(917):

Outputffsfsdfsfsfsdffsdfsdfsdfsdf{"message":"Chat message inserted Successfully..","success":1,"messages_result":[{"message":"were","id":"277","sender_id":"1","receiver_id":"3"},{"message":"welll","id":"276","sender_id":"1","receiver_id":"3"},{"message":"hiiii welcome","id":"273","sender_id":"1","receiver_id":"3"},{"message":"hiiii","id":"272","sender_id":"1","receiver_id":"3"},{"message":"udhaya juice qwerty","id":"231","sender_id":"1","receiver_id":"3"},{"message":"udhaya juice qwerty","id":"230","sender_id":"1","receiver_id":"3"},{"message":"udhaya juice qwerty","id":"229","sender_id":"1","receiver_id":"3"},{"message":"udhaya juice qwerty","id":"228","sender_id":"1","receiver_id":"3"},{"message":"udhaya juice ","id":"227","sender_id":"1","receiver_id":"3"},{"message":"udhaya ","id":"226","sender_id":"1","receiver_id":"3"}]}
08-27 13:16:28.454: W/dalvikvm(917): threadid=14: thread exiting with uncaught exception (group=0x409c01f8)
08-27 13:16:28.624: E/AndroidRuntime(917): FATAL EXCEPTION: AsyncTask #3
08-27 13:16:28.624: E/AndroidRuntime(917): java.lang.RuntimeException: An error occured while executing doInBackground()
08-27 13:16:28.624: E/AndroidRuntime(917): at android.os.AsyncTask$3.done(AsyncTask.java:278)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.lang.Thread.run(Thread.java:856)
08-27 13:16:28.624: E/AndroidRuntime(917): Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:4039)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:709)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.View.requestLayout(View.java:12675)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.View.requestLayout(View.java:12675)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.View.requestLayout(View.java:12675)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.View.requestLayout(View.java:12675)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.ViewGroup.addView(ViewGroup.java:3206)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.ViewGroup.addView(ViewGroup.java:3165)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.view.ViewGroup.addView(ViewGroup.java:3145)
08-27 13:16:28.624: E/AndroidRuntime(917): at com.example.chatapp.Chat$Send.doInBackground(Chat.java:104)
08-27 13:16:28.624: E/AndroidRuntime(917): at com.example.chatapp.Chat$Send.doInBackground(Chat.java:1)
08-27 13:16:28.624: E/AndroidRuntime(917): at android.os.AsyncTask$2.call(AsyncTask.java:264)
08-27 13:16:28.624: E/AndroidRuntime(917): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-27 13:16:28.624: E/AndroidRuntime(917): ... 5 more
08-27 13:16:29.365: I/dalvikvm(917): threadid=3: reacting to signal 3
08-27 13:16:29.395: I/dalvikvm(917): Wrote stack traces to '/data/anr/traces.txt'
08-27 13:16:30.144: E/WindowManager(917): Activity com.example.chatapp.Chat has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41c1def0 that was originally added here
08-27 13:16:30.144: E/WindowManager(917): android.view.WindowLeaked: Activity com.example.chatapp.Chat has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41c1def0 that was originally added here
08-27 13:16:30.144: E/WindowManager(917): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:344)
08-27 13:16:30.144: E/WindowManager(917): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
08-27 13:16:30.144: E/WindowManager(917): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
08-27 13:16:30.144: E/WindowManager(917): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
08-27 13:16:30.144: E/WindowManager(917): at android.view.Window$LocalWindowManager.addView(Window.java:537)
08-27 13:16:30.144: E/WindowManager(917): at android.app.Dialog.show(Dialog.java:278)
08-27 13:16:30.144: E/WindowManager(917): at com.example.chatapp.Chat$Send.onPreExecute(Chat.java:61)
08-27 13:16:30.144: E/WindowManager(917): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
08-27 13:16:30.144: E/WindowManager(917): at android.os.AsyncTask.execute(AsyncTask.java:511)
08-27 13:16:30.144: E/WindowManager(917): at com.example.chatapp.Chat$1.onClick(Chat.java:50)
08-27 13:16:30.144: E/WindowManager(917): at android.view.View.performClick(View.java:3511)
08-27 13:16:30.144: E/WindowManager(917): at android.view.View$PerformClick.run(View.java:14105)
08-27 13:16:30.144: E/WindowManager(917): at android.os.Handler.handleCallback(Handler.java:605)
08-27 13:16:30.144: E/WindowManager(917): at android.os.Handler.dispatchMessage(Handler.java:92)
08-27 13:16:30.144: E/WindowManager(917): at android.os.Looper.loop(Looper.java:137)
08-27 13:16:30.144: E/WindowManager(917): at android.app.ActivityThread.main(ActivityThread.java:4424)
08-27 13:16:30.144: E/WindowManager(917): at java.lang.reflect.Method.invokeNative(Native Method)
08-27 13:16:30.144: E/WindowManager(917): at java.lang.reflect.Method.invoke(Method.java:511)
08-27 13:16:30.144: E/WindowManager(917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-27 13:16:30.144: E/WindowManager(917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-27 13:16:30.144: E/WindowManager(917): at dalvik.system.NativeStart.main(Native Method)

No comments:

Post a Comment