2015-02-03 2 views
-2

내 프로젝트에서 하나의 활동에서 다른 ListActivity.now 문자열을 내 어댑터 class.how 수 있습니다. 내가 이렇게 .. 를 아래에있는 내 코드는,이에 난 내 어댑터 클래스에 fromMobileno 문자열을 얻고 싶은android에서 동일한 활동에 활동이 아닌 활동 클래스에 문자열을 전달하는 방법

public class MainActivity extends ListActivity { 
     ListView lv; 
     Cursor cursor; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.list_contact); 
      cursor=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); 
      startManagingCursor(cursor); 
      String[] from={ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone._ID}; 
      int[] to={R.id.name_entry,R.id.number_entry}; 

      adapterlistadapter=new adapter(this,R.layout.single_row1,cursor,from,to); 
      setListAdapter(listadapter); 

      lv=getListView(); 
      lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 

      Bundle extras = getIntent().getExtras(); 
      String fromMobileno = extras.getString("KEY"); 



     } 

     @Override() 
     public long getSelectedItemId() { 
      // TODO Auto-generated method stub 
      return super.getSelectedItemId(); 
     } 

     @Override 
     public int getSelectedItemPosition() { 
      // TODO Auto-generated method stub 
      return super.getSelectedItemPosition(); 
     } 
     class adapter extends SimpleCursorAdapter implements Filterable { 
      private Context context; 

      private int layout; 
      public adapter(Context context, int layout, Cursor c, 
        String[] from, int[] to) { 
       super(context, layout, c, from, to); 
       this.context=context; 
       this.layout=layout; 

       // TODO Auto-generated constructor stub 

      } 


      @Override 
      public void bindView(View v, Context context, Cursor c) { 

       .... 


     } 
} 
+0

생성자에 대해 들어 본 적이 있습니까? – DroidDev

답변

0

은 내가이

을 할 수있는 내 어댑터 class.how에이 문자열을 얻으려면

문자열 매개 변수를에 더 추가하십시오. 클래스에서 값을 요구하려면 0 :

String strfromMobileno=""; 
public adapter(Context context, int layout, Cursor c, 
        String[] from, int[] to,String fromMobileno) { 
    super(context, layout, c, from, to); 
    ///... your code here 
    strfromMobileno=fromMobileno; 
    } 

및 방법 onCreate에는 adapter 클래스의 객체를 생성하기 전에 의도에서 값을 얻는다.

그리고 adapter 클래스 fromMobileno에 액세스 할 수 MainActivity.this.fromMobileno를 사용하면 대신 내부 onCreate 방법의 클래스 레벨의 변수로 내부 class.declare fromMobileno에서 외부 클래스 변수에 액세스 할 수 있도록 adapterMainActivity 클래스의 내부 클래스이기 때문에 또 다른 방법은

관련 문제