2016-12-19 7 views
-1

Я хочу установить текст из выбранного элемента из spinner в textview, но когда я попытался сделать судороги приложения. Может кто-нибудь мне помочь .Ошибка приложения при попытке установить текст, выбранный из spinner, в textview

public class MainActivity extends AppCompatActivity { 

    TextView txt; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     txt=(TextView) findViewById(R.id.txt1) ; 

     ArrayList<ItemData> list=new ArrayList<>(); 
     list.add(new ItemData("Cash",R.drawable.paymentcashnew)); 
     list.add(new ItemData("Paytm",R.drawable.paymentpaytmnew)); 

     Spinner sp=(Spinner)findViewById(R.id.select_cash); 
     String result = sp.getSelectedItem().toString(); 
     txt.setText(result); 


     SpinnerAdapter adapter=new SpinnerAdapter(this, 
       R.layout.spinner,R.id.txt,list); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     sp.setAdapter(adapter); 



    } 
} 
+2

вы пытаетесь получить строку из блесны даже перед установкой адаптера к блесне. Таким образом, нет данных для вашего счетчика до этого момента –

+0

как я могу решить tat ???? –

+0

Я просто попробовал, поставив setText после того, как setApdter выполнил запуск приложения, но не отобразил выделенный текст. Он дает некоторый текст. –

ответ

0
 sp.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
        String result = sp.getSelectedItem().toString(); 
    txt.setText(result); 
       } 
      }); 

Это может помочь Frnd.

+0

и не забудьте удалить следующую строку из вашего кода. Результат строки = sp.getSelectedItem(). ToString(); txt.setText (результат); –

0

счетчик не имеет «getSelectedItem». https://developer.android.com/reference/android/widget/Spinner.htmlhttps://developer.android.com/guide/topics/ui/controls/spinner.html и вот как вы получите текстовое значение выбранной строки: https://stackoverflow.com/a/15545909/3022387

spin.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       String imc_met=spin.getSelectedItem().toString(); 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 
0

Реализовать spinner.setOnItemClickListener, а затем найти текст внутри этого метода, как это.

spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
       String result = sp.getSelectedItem().toString(); 
       txt.setText(result); 
      } 
     }); 
0

Вы не можете получить выбранный товар перед установкой adapter.Try этого кода ниже

public class MainActivity extends AppCompatActivity { 

final TextView txt; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

txt=(TextView) findViewById(R.id.txt1) ; 

ArrayList<ItemData> list=new ArrayList<>(); 
list.add(new ItemData("Cash",R.drawable.paymentcashnew)); 
list.add(new ItemData("Paytm",R.drawable.paymentpaytmnew)); 

Spinner sp=(Spinner)findViewById(R.id.select_cash); 
SpinnerAdapter adapter=new SpinnerAdapter(this, 
     R.layout.spinner,R.id.txt,list); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
sp.setAdapter(adapter); 
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()  { 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    Object item = parent.getItemAtPosition(position); 
String result = sp.getSelectedItem().toString(); 
txt.setText(result); 

} 
public void onNothingSelected(AdapterView<?> parent) { 
} 
}); 


} 
} 
+0

Этот код дает мне идентификатор, а не текст. –

+0

Можете ли вы опубликовать журнал? –