Не отображаются динамические компоненты RelativeLayout

Интерфейс, диалоги, темы, стили, меню
Ответить
Григорий Зягун
Сообщения: 5
Зарегистрирован: 15 дек 2013, 23:11
Откуда: Харьков, Украина
Контактная информация:

Не отображаются динамические компоненты RelativeLayout

Сообщение Григорий Зягун » 02 янв 2014, 01:23

Всем привет.
Есть проблема: создаваемые динамические компоненты не отображаются на реальном устройстве.
Не отображаются также на эмуляторе ексипса, на эмуляторе от BlueStacks и на дивайсе Arnova 7d 3g все работает идеально.
Пробовал на паре других девайсах - тоже не работает.

Соответственно не работает ничего: перетаскивание, даблтач по экрану, даблтач по элементу.
А на эмуляторе BlueStacks и Arnova 7d 3g все работает...
Друзья, помогите. Если кто подскажет в чем проблема, буду очень благодарен...

Вот проект ексипса: https://drive.google.com/file/d/0B5df_U ... sp=sharing
Вот апк-файл: https://drive.google.com/file/d/0B5df_U ... sp=sharing
Вот mail.xml:

Код: Выделить всё

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RelativeLayout01"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/Black"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <RelativeLayout
        android:id="@+id/RL_main"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
    </RelativeLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dip"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="101dp"
            android:layout_height="wrap_content"
            android:onClick="onClick"
            android:text="Сменить фон" />

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.03"
            android:onClick="DeleteAllElements"
            android:src="@drawable/delete" />

        <Button
            android:id="@+id/btn_en"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn_en"
            android:onClick="onClick_l"
             />

        <Button
            android:id="@+id/btn_ru"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn_ru"
            android:onClick="onClick_l"
             />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Выбор элементов"
            android:onClick="onClick_list" />
        
    </LinearLayout>

            <EditText
            android:id="@+id/editText1"
            android:layout_width="150sp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="349dp"
            android:ems="10"
            android:textColor="#ff0000" >
			
            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/editText1"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="160dp"
            android:onClick="onClick_1"
            android:text="Добавить!" />
        
    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:textColor="#ff0000"
        android:textSize="24dip" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/RL_main"
        android:layout_alignParentBottom="true"
        android:textColor="#ff0000"
        android:textSize="24dip" />

</RelativeLayout>
Вот MainActivity.java:

Код: Выделить всё

package a.n.g;
//48sp
//2130837507 - огонь
//--удаление одной вьюшки 
//	RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
//  	rl.removeView((View) findViewById(1));
//  другое 
//  v.getTag().toString() - выдает айди картикни//String.valueOf//"---"+String.valueOf(v.getId())		
//1
//for(i1=1; i1<j+1;i1++)
//xy+="ID="+i1+",X="+XY.getX(i1)+", Y="+XY.getY(i1)+", Name="+ Name_Picter.Name(XY.getiTag(i1))+"\n";
//<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

import java.util.ArrayList;
import java.util.Locale;
import java.util.Random;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.GestureDetector;
import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.widget.AbsoluteLayout.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
enum GameType {огонь,ветер,вода,земля,спирт}
public class MainActivity extends Activity implements OnGestureListener, OnDoubleTapListener
{
	int x_sm=-35 , y_sm=-65; //координаты смещения при перетаскивании
	int KOL_EL=7; //колическто вставленных картинок
	int NE = 1000000; //айди начального элемента c ТЕКСТОМ! 
	int iNE = 2130837507;
	int kp=30; // [-koef_pr; koef_pr] для проверки совмещения вьющек
	int i_fon=0, windowwidth, windowheight,i,j=0,i1;//j - количество иконок на активити     
	int m_c_click=0,m_id_teg=0,m_c_2=0; //счетчик кликов для двойного клика картинки
	int x_cord,y_cord; // координаты вьюшки при перетаскивании     
		OnTouchListener onTL;  
	   OnClickListener onCL;
	   TextView tv; //для "вы выбрали элеvент"
	   TextView tv_pf; //для "последняя формула"
	   EditText et; LinearLayout llMain; String PN; Context ct;
	   private ArrayList<String> arrPict; // массив картинок
       private Resources mRes; // Ресурсы приложени
       public static enum Status {OPEN, CLOSE};
       public static ArrayList<Status> arrStatus; // состояние ячеек
       private GestureDetector detector;
       private android.widget.RelativeLayout.LayoutParams layoutParams;
       private LayoutInflater mInflater; private SharedPreferences preferences;
       private Locale locale; private String lang; private Button btn_en, btn_ru; private Locale myLocale; 	
       
    // это будет именем файла настроек
   	public static final String APP_PREFERENCES = "mysettings";
   	final String KEY_RADIOBUTTON_INDEX = "SAVED_RADIO_BUTTON_INDEX";
   	int k;
   	
   	//после паузы
   	@Override
public void onResume() 
   	{ 
   		super.onResume();
   	
   		SharedPreferences sP = getSharedPreferences(APP_PREFERENCES, MODE_PRIVATE);
   		if (sP.getInt("add_y_n",0)==1)
   		{
   			//добавление элементов
   		
   			
   	   		for (int i = 0; i < sP.getInt("add_count",0); i++)
   	   		{
   	   		int xx=100,yy=-100;
   		    int x1=new Random().nextInt(2*xx)+yy;
   		    int y1=new Random().nextInt(2*xx)+yy;
   		    
   	   			String key="add_icon_"+String.valueOf(i+1);
   		   	 	add_new_element((int)(windowwidth/2),(int)(windowheight/2), sP.getInt(key,-1), x1, y1);
   	   		}
   		}
   		
   	 SharedPreferences.Editor e = sP.edit();
   	 e.putInt("add_y_n", 0);
   	 e.apply();
}
   	
   	
   	@Override
public void onCreate(Bundle savedInstanceState) 
{ 
 //убирает полоску сверху
        	 requestWindowFeature(Window.FEATURE_NO_TITLE);
	         super.onCreate(savedInstanceState);

// сохранения языка
	         preferences = PreferenceManager.getDefaultSharedPreferences(this);
	         lang = preferences.getString("lang", "default");	
	         if (lang.equals("default")) {lang=getResources().getConfiguration().locale.getCountry();}
	         locale = new Locale(lang);
	         Locale.setDefault(locale);
	         Configuration config = new Configuration();
	         config.locale = locale;
	         getBaseContext().getResources().updateConfiguration(config, null);
//конец сохранения языка    

	         setContentView(R.layout.main);    PN=this.getPackageName();     ct=this;   Name_Picter.setContect(ct);
	         detector = new GestureDetector(this,this);	         windowwidth = getWindowManager().getDefaultDisplay().getWidth();      windowheight = getWindowManager().getDefaultDisplay().getHeight();
	         tv = (TextView) findViewById(R.id.TextView01);	         tv_pf = (TextView) findViewById(R.id.textView2);
	         arrPict = new ArrayList<String>();	         arrStatus = new ArrayList<Status>(); et = (EditText) findViewById(R.id.editText1);
	         // Получаем все ресурсы приложения
	         mRes = this.getResources();
	         // Метод заполняющий массив vecPict
	         makePictArray();
	         //ставим статус окрытый для 4-х начальных элементов
	         for(int k=0; k<4;k++)
	         arrStatus.set(k, Status.OPEN);
	        
	         //язык
	         //tv_pf.setText(this.getResources().getConfiguration().locale.getDisplayName());
	         //tv_pf.setText(java.util.Locale.getDefault().getDisplayName());
	     	 
	         //смена языка
	 		this.btn_en = (Button)findViewById(R.id.btn_en);
			this.btn_ru = (Button)findViewById(R.id.btn_ru);
			loadLocale();
			

	//перемещение картинок
	onTL = new OnTouchListener() 
	{
		@Override
	 	public boolean onTouch(View v, MotionEvent event)
		{   layoutParams = (RelativeLayout.LayoutParams) v.getLayoutParams();  String xy=""; v.getDrawableState();
    switch(event.getAction())                   
      {
         case MotionEvent.ACTION_DOWN: 
         // нажатие	 
             tv.setText(""+Name_Picter.Name((Integer)v.getTag())+"\n"+xy);
             //организация двойного клика
	            	if(m_id_teg!=v.getId()) m_c_click=0; //когда клацаем на другую вьюшку, то обнуляем счетчик и задаем новый счетчик и тег.
	            	if (m_c_click==0) m_id_teg=v.getId();
	            	  if(m_c_click==1) 
	            	  {
	            		  if(m_id_teg==v.getId()) 
	            		  { m_c_click=2; 
	            			//создание копии картинки...
   	            		    j++; ImageView iv = new ImageView(ct); iv.setId(j); iv.setTag((Integer)v.getTag()); RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lp.setMargins((int) event.getRawX()+x_sm+25,(int) event.getRawY()+y_sm-(new Random().nextInt(50)-25),0,0); iv.setLayoutParams(lp); rl.addView(iv); iv.setOnTouchListener(onTL); ChannelFrame frame = new ChannelFrame(getApplicationContext());  frame.setChannelLogo((Integer)v.getTag()); frame.setChannelName(Name_Picter.Name((Integer)v.getTag())); frame.setLayoutParams(lp); frame.setId(NE+j); rl.addView(frame); 
	            			XY.setID(j, j); XY.setiTag(j, (Integer)v.getTag()); XY.setX(j,(int) event.getRawX()+x_sm+25); XY.setY(j, (int) event.getRawY()+y_sm-(new Random().nextInt(50)-25));		
	            			m_c_click=0; m_c_2=1;
	            		  } else m_c_click=0;
	            	  }
	            	  if (m_c_2==0){if (m_c_click==0) m_c_click=1;}
	            	  m_c_2=0;
	            	  break;  
         case MotionEvent.ACTION_MOVE:
	     // движение

        	 			x_cord = (int) event.getRawX(); y_cord = (int) event.getRawY();
	                    if (x_cord > windowwidth) {x_cord = windowwidth;}
	                    if (y_cord > windowheight) {y_cord = windowheight;}
	                    layoutParams.leftMargin = x_cord+x_sm;  layoutParams.topMargin = y_cord+y_sm;
	                	XY.setX(v.getId(),x_cord+x_sm); XY.setY(v.getId(), y_cord+y_sm);
	                	v.setLayoutParams(layoutParams);  m_c_click=0;
	                    int x1=x_cord+x_sm; int y1=y_cord+y_sm;
	                    tv.setText(""+Name_Picter.Name((Integer)v.getTag())+"\n"+xy);	                   
	                    break;																	
          //case MotionEvent.ACTION_CANCEL:												
          case MotionEvent.ACTION_UP:													
         // отпускание  			
      	Find_Element(v);
        	    		tv.setText(""+"\n"+xy);
	     	         	break;
	              default: break;
	            }     	         
	         return true;
		}            
	}; 

	//создаем иконку для удаления
	 Korzina();
    //создаем 4 елемента в начале
    creat_4_element((int)(windowwidth/2),(int)(windowheight/2));	         

}//конец create activity
//менем фон     
final public void onClick(View v) 
	{


		
	  //меняем фон
   	  RelativeLayout background = (RelativeLayout) findViewById(R.id.RelativeLayout01);
       	  switch (i_fon)
	           	  	{
	           		  case 1: background.setBackgroundColor(Color.BLACK); i_fon=0; break;
	           		  case 0: background.setBackgroundColor(Color.WHITE); i_fon=1; break;
	           	  default: break;
	            	}
    }
//обработка побавления через форму картинки
final public void onClick_1(View v)
{
	//если элемент открыт - добавляем
	if(Name_Picter.Teg(et.getText().toString())-iNE>=0)
		{
		if(arrStatus.get(Name_Picter.Teg(et.getText().toString())-iNE)==Status.OPEN)
			add_new_element((int)(windowwidth/2),(int)(windowheight/2), Name_Picter.Teg(et.getText().toString())-iNE, 0, 0);
		else Toast("Элемент не еще открыт!");
		}
	else Toast("Не правильно написано название элемента.");
}


//удаление всех элементов на поле
final public void DeleteAllElements(View v) 
	{
        RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
        rl.removeAllViews();
	   Toast("По вашему велению поле очищено!");
	    //обнуление счетчиков для дыойного клика по картинке
	    m_c_click=0; m_id_teg=0; m_c_2=0;
	    j=0;
	    Korzina();
	}

// Метод заполняющий массив vecPict, все картинки 
public void makePictArray ()//private 
    {

		// очищаем вектор
    	arrPict.clear();
    	// добавляем
    	for (int i = 0; i < KOL_EL; i++)
    	{   
    		arrStatus.add(Status.CLOSE);
    		arrPict.add(Integer.toString(2130837507+i));//Integer.toString (i)...2130837507
    	}  
    	SavePreferences(String.valueOf(0), 1); 
    	SavePreferences(String.valueOf(1), 1); 
    	SavePreferences(String.valueOf(2), 1); 
    	SavePreferences(String.valueOf(3), 1); 
   		LoadPreferences();
    }
@Override public boolean onTouchEvent(MotionEvent me){ this.detector.onTouchEvent(me); return super.onTouchEvent(me); }@Override public boolean onDown(MotionEvent e) {return false;}   @Override public boolean onDoubleTapEvent(MotionEvent e) {return false;}   @Override public boolean onSingleTapConfirmed(MotionEvent e) {return false;}   @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false;}   @Override public void onLongPress(MotionEvent e) {}   @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {return false;}   @Override public void onShowPress(MotionEvent e) {}   @Override public boolean onSingleTapUp(MotionEvent e) {return false;}
@Override//создает "земля, вода, ветер, огонь" или дойном щелчке по пустому месту
public boolean onDoubleTap(MotionEvent e)    {   creat_4_element((int)e.getX(),(int)e.getY());return false;}

//добавляем 4 элемента при создании или даблклик по пустой активити
final void creat_4_element(int x, int y)
{
	int xx = 40,/*40*/yy=25;
	//перемешивание координат
    int x1=new Random().nextInt(xx)+yy;
    int y1=new Random().nextInt(xx)+yy;
    int x2=new Random().nextInt(xx)+yy;
    int y2=new Random().nextInt(xx)+yy;
    int x3=new Random().nextInt(xx)+yy;
    int y3=new Random().nextInt(xx)+yy;
    int x4=new Random().nextInt(xx)+yy;
    int y4=new Random().nextInt(xx)+yy;
    int ID_1=new Random().nextInt(4);
    int ID_2=new Random().nextInt(4); while(ID_2==ID_1) ID_2=new Random().nextInt(4);
    int ID_3=new Random().nextInt(4); while((ID_3==ID_1)||(ID_3==ID_2)) ID_3=new Random().nextInt(4);
    int ID_4=new Random().nextInt(4); while((ID_4==ID_1)||(ID_4==ID_2)||(ID_4==ID_3)) ID_4=new Random().nextInt(4);
       
	add_new_element (x,y, ID_1, x1, y1);	add_new_element (x,y, ID_2, -x2, y2);	add_new_element (x,y, ID_3, x3, -y3);	add_new_element (x,y, ID_4, -x4, -y4);
    
	
}

//добавим новый элемент//x,y - координаты добавления// х1,у1 - сдвиг // i- от 0 до конца картинок
public void add_new_element (int x, int y, int i_ID,int x1, int y1)
{
	if(i_ID>=0)
	{
		j++;
		ImageView iv = new ImageView(this); //Button
	    //iv.setImageResource(mRes.getIdentifier(arrPict.get(i_ID), "drawable", this.getPackageName()));
	    iv.setTag(mRes.getIdentifier(arrPict.get(i_ID), "drawable", this.getPackageName()));
	    iv.setId(j);
	    RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
	    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
	    lp.setMargins(x+x_sm+x1,y+y_sm+y1,0,0);      
	    iv.setLayoutParams(lp);
	    rl.addView(iv); 
	    iv.setOnTouchListener(onTL);
		XY.setID(j, j); XY.setiTag(j, mRes.getIdentifier(arrPict.get(i_ID), "drawable", this.getPackageName())); XY.setX(j,x+x_sm+x1); XY.setY(j,y+y_sm+y1);
	            ChannelFrame frame = new ChannelFrame(getApplicationContext());
	            frame.setChannelLogo(mRes.getIdentifier(arrPict.get(i_ID), "drawable", this.getPackageName()) );
	            frame.setChannelName(Name_Picter.Name(mRes.getIdentifier(arrPict.get(i_ID), "drawable", this.getPackageName())));
	            frame.setLayoutParams(lp);
	            frame.setId(NE+j);
	            rl.addView(frame);
	}
}
	
public void Toast(String ans)	
    {
	Toast.makeText(this, ans, Toast.LENGTH_SHORT).show();	
    }
public void Toast_center(String ans)	
    {
		Toast toast = Toast.makeText(getApplicationContext(),ans,Toast.LENGTH_SHORT);
		toast.setGravity(Gravity.CENTER, 0, 0);
		toast.show();
    }


//создаем иконку для удаления
public void Korzina()	
{
	int d_x=900,d_y=450;
	j++;
	ImageView iv = new ImageView(this); //Button
	iv.setImageResource(mRes.getIdentifier(arrPict.get(5), "drawable", this.getPackageName()));
	iv.setTag(mRes.getIdentifier(arrPict.get(5), "drawable", this.getPackageName()));
	iv.setId(j);
	RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
	RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(75, 75);
	lp.setMargins(d_x,d_y,0,0);      
	iv.setLayoutParams(lp);
	rl.addView(iv); 
	//iv.setOnTouchListener(onTL);
	XY.setID(j, j); XY.setiTag(j, mRes.getIdentifier(arrPict.get(5), "drawable", this.getPackageName())); XY.setX(j,d_x); XY.setY(j,d_y);
}


//удаление одного элемента через корзину
public void d_i(View v)
{
	int i1;
	for(i1=1; i1<j+1;i1++)
		delete_1_icon(v,i1);
}

// удаление одного элемента через корзину
public void delete_1_icon(View v, int i1)
{
		if(XY.getiTag(i1)==2130837512) 
	    if(XY.getX(i1)>(XY.getX(v.getId())-40)&&(XY.getX(i1)<(XY.getX(v.getId())+40))) 
	    if(XY.getY(i1)>(XY.getY(v.getId())-40)&&(XY.getY(i1)<(XY.getY(v.getId())+40))) 
	    	{
				RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
				rl.removeView((View) findViewById(v.getId()));
				rl.removeView((View) findViewById(NE+v.getId()));
				XY.setiTag(v.getId(), 0);
	   		}
}

// реакция над 2-мя элементами
public void reakcia(View v, int i1, int e1,int e2, int e3)
{
	if(XY.getiTag(i1)==iNE+e2)
	if(XY.getX(i1)>(XY.getX(v.getId())-kp)&&(XY.getX(i1)<(XY.getX(v.getId())+kp))) 
	if(XY.getY(i1)>(XY.getY(v.getId())-kp)&&(XY.getY(i1)<(XY.getY(v.getId())+kp))) 
		{
			RelativeLayout rl = (RelativeLayout) findViewById(R.id.RL_main);
			rl.removeView((View) findViewById(XY.getID(i1)));
			rl.removeView((View) findViewById(v.getId()));
			rl.removeView((View) findViewById(NE+XY.getID(i1)));
			rl.removeView((View) findViewById(NE+v.getId()));
			add_new_element(x_cord,y_cord, e3, 0, 0);	
			XY.setiTag(v.getId(), 0); XY.setiTag(XY.getID(i1), 0);
			
			if(arrStatus.get(e3)==Status.CLOSE)
				Toast_center("Открыт новый элеент:\n"+Name_Picter.Name(iNE+e1)+" + "+Name_Picter.Name(iNE+e2)+" = "+Name_Picter.Name(iNE+e3));
			else Toast(Name_Picter.Name(iNE+e1)+" + "+Name_Picter.Name(iNE+e2)+" = "+Name_Picter.Name(iNE+e3));
			//tv_pf.setText("ПФ: "+Name_Picter.Name(iNE+e1)+" + "+Name_Picter.Name(iNE+e2)+" = "+Name_Picter.Name(iNE+e3));
			arrStatus.set(e3, Status.OPEN);
			
			SavePreferences(String.valueOf(e3), 1); 

		}

}

//ямена языка и сохранения настроек 
private void LoadPreferences() 
{
	SharedPreferences sharedPreferences = getSharedPreferences(APP_PREFERENCES, MODE_PRIVATE);
	//считывание статус всех картинок
	for (int i = 0; i < KOL_EL; i++)
	{
		if (sharedPreferences.getInt(String.valueOf(i),0)==1)  arrStatus.set(i, Status.OPEN);
		if (sharedPreferences.getInt(String.valueOf(i),0)==0) arrStatus.set(i, Status.CLOSE);
	}
}
private void SavePreferences(String key, int value) {
	SharedPreferences sharedPreferences = getSharedPreferences(
			APP_PREFERENCES, MODE_PRIVATE);
	SharedPreferences.Editor editor = sharedPreferences.edit();
	editor.putInt(key, value);
	editor.apply();
}
public void onClick_l(View v) 
{
String lang = "en";
switch (v.getId()) 
{
		case R.id.btn_en:   lang = "en";   break;
		case R.id.btn_ru:   lang = "ru";   break;
		default:   break;
}
changeLang(lang);

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
android.os.Process.killProcess(android.os.Process.myPid());


}

//вызываем список
public void onClick_list(View v) 
{
	Intent intent = new Intent(MainActivity.this, List.class);
	startActivity(intent);
}

public void loadLocale()
{
	String langPref = "Language";
	SharedPreferences prefs = getSharedPreferences("CommonPrefs", Activity.MODE_PRIVATE);
	String language = prefs.getString(langPref, "");

	changeLang(language);
}
public void saveLocale(String lang)
{
	String langPref = "Language";
	SharedPreferences prefs = getSharedPreferences("CommonPrefs", Activity.MODE_PRIVATE);
	SharedPreferences.Editor editor = prefs.edit();
	editor.putString(langPref, lang);
	editor.commit();
}
public void changeLang(String lang)
{
	if (lang.equalsIgnoreCase(""))	
		return;
	myLocale = new Locale(lang);	
	saveLocale(lang);
 Locale.setDefault(myLocale);
 android.content.res.Configuration config = new android.content.res.Configuration();
 config.locale = myLocale;
 getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
 updateTexts();
}

//изменть текст всех заголовков
private void updateTexts()
{
	btn_en.setText(R.string.btn_en);
	btn_ru.setText(R.string.btn_ru);
}
@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
	super.onConfigurationChanged(newConfig);
	if (myLocale != null){
     newConfig.locale = myLocale;
     Locale.setDefault(myLocale);
     getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
 }
}
//конец смены языка и сохранения настроек 


//реакция над 2-мя элементами
public void r(int e1,int e2, int e3,View v)
{	int i1;    	
	for(i1=1; i1<j+1;i1++)
	reakcia(v,i1,e1,e2,e3);
}

// процедура сложения всех элементов
public void Find_Element(View v)
{
	 switch((Integer)v.getTag())
	    {
	    	case 2130837507: r(0,2,4,v);   d_i(v); break;
	    	case 2130837508: 			 d_i(v); break;
	    	case 2130837509: r(2,0,4,v);   d_i(v); break;
  			case 2130837510: 			 d_i(v); break;
	    	case 2130837511: 			 d_i(v); break;
	    	default: break;
	    }	 
}


}//конец главного класса MainActivity
Вложения
Это фото с эмулятора, где не отображаются динамические элементы.
Это фото с эмулятора, где не отображаются динамические элементы.
2.JPG (55.11 КБ) 2564 просмотра
Это фото с эмулятора, где все работает.
Это фото с эмулятора, где все работает.
1.JPG (78.16 КБ) 2564 просмотра

Григорий Зягун
Сообщения: 5
Зарегистрирован: 15 дек 2013, 23:11
Откуда: Харьков, Украина
Контактная информация:

Re: Не отображаются динамические компоненты RelativeLayout

Сообщение Григорий Зягун » 02 янв 2014, 01:26

Проблема именно в RelativeLayout c id RL_main.

Григорий Зягун
Сообщения: 5
Зарегистрирован: 15 дек 2013, 23:11
Откуда: Харьков, Украина
Контактная информация:

Re: Не отображаются динамические компоненты RelativeLayout

Сообщение Григорий Зягун » 04 янв 2014, 21:59

Ребята, вопрос очень сложный?
Да, много кода, если кто заинтересуется - можно связаться в режиме скайпа или хенгаутса и все обсудить.

Ответить