2013-04-27 3 views
1

Я установил onClickListener моей кнопки, чтобы открыть другое действие (работа с фрагментами фрагмента) и предложит пользователю ввести номер в поле edittext. Кнопка «Хорошо», закрывает эту активность и передает результат в основное действие. Затем данные, то есть число, которое было извлечено, устанавливает индекс массива для массива строк. Любая идея о том, как это сделать?Данные от Intent до String array index

Основная деятельность

public class Quotes extends Activity { 

    ImageButton next, copytext, previous, kahinbhi; 

    TextView q, tview1, nm; 

    String[] str; 
    int i,value=0; 

    ... 
     ... 

kahinbhi.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       // TODO Auto-generated method stub 
       startActivityForResult(kahinsebhi,value); 

      } 
     }); 

    } 




    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     if (requestCode == value) { 
       // Make sure the request was successful 
       if (resultCode == RESULT_OK) { 


        q.setText(str[data]); 



       } 
      } 


    } 


      ..... 
...... 

макет новой деятельности

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/kahinbhiedit" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="number" > 

     <requestFocus /> 

     <requestFocus /> 

    </EditText> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/editText1" 
     android:layout_centerHorizontal="true" 
     android:text="@string/ok" /> 

</RelativeLayout> 

Java код новой деятельности

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.EditText; 

public class kahinsebhii extends Activity { 
    Button ok; 
    EditText number; 

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

    } 

} 

ответ

0

Обновлено:

EditText editText = (EditText)findViewById(R.id.editText1); 

В ClassA:

Intent intent = new Intent(this, ClassB); 
intent.putExtra("string", editText.getText().toString()); 
startActivity(intent); 

В ClassB:

public void onCreate() { 
Intent intent = getIntent(); 
String myString = intent.getStringExtra("string"); 
} 
+0

У меня уже есть настройка строк. Скажите мне, как получить результат от edittext и поместить thtat в значение индекса строки. – 2013-04-27 17:58:14

0

Просто сделай это

Intent i=new Intent(MainActivity.this,Activity2.class); 
       String[] myString=new String[]{"editText.getText().toString()"}; 
       i.putExtra("Strings",myString); 
       startActivity(i); 

и

Intent intent=getIntent(); 
     String[] myString2=intent.getStringArrayExtra("strings"); 
+0

Нет программирования в Java-файле Actvity, из которого должно быть извлечено значение? – 2013-04-28 05:29:55