2012-11-24 87 views
1

需要将活动数据传递给android应用程序的listactivity或listview。即时通讯数据传递给列表视图时遇到问题。将数据从活动传递到列表活动或列表视图

什么程序做的是从addact类,用户可以输入要做的事情 并在viewact类,这将显示活动比较ListView中

public class addact extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.newact); 
     Button btn1 = (Button)findViewById(R.id.btnsave); 
     final EditText et1 = (EditText)findViewById(R.id.etactivity); 
     btn1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      Intent it = new Intent(addact.this, viewact.class); 
      it.putExtra("thekey", et1.getText().toString()); 
      startActivity(it); 
     } 
    }); 
    } 
} 



public class viewact extends ListActivity { 

    String addToDo =getIntent().getExtras().getString("thekey"); 
    String[] toDoAct = new String[] {addToDo }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.viewact); 



     setListAdapter(new ArrayAdapter<String>(this, R.layout.viewact,toDoAct)); 

     ListView listView = getListView(); 

     listView.setTextFilterEnabled(true); 

     listView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 

       for (int i=0; i < 2; i++) 
       { 
        Toast.makeText(getApplicationContext(), 
          ((TextView) view).getText(), Toast.LENGTH_LONG).show(); 
       } 

      } 
     }); 

    } 

} 

回答

0

您不能访问你的意图,直到里面添加用户onCreate(),并且您应该执行一些检查以确保您的应用程序不会在数据不存在时崩溃:

String addToDo = ""; 
String[] toDoAct; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.viewact); 

    Intent intent = getIntent(); 
    if(intent != null) { 
     addToDo = intent.getStringExtra("thekey", ""); 
    } 
    toDoAct = new String[] { addToDo }; 
相关问题