2012-06-24 4 views
0

У меня есть кнопка с Android: OnClick = «getGraph», поэтому я создаю функцию во время ее нажатия, она получить пользовательский ввод, расположенный в CheckByDate.javaAndroid: начало намерения в setOnClickListener

public void getGraph (View view) 
{ 
    tv = (TextView)findViewById(R.id.textView1); 
    textDay = (EditText) findViewById(R.id.textDay); 
    textMonth = (EditText) findViewById(R.id.textMonth); 
    textYear = (EditText) findViewById(R.id.textYear); 
    day = textDay.getText(); 
    month = textMonth.getText(); 
    year = textYear.getText(); 

    date = day + "/" + month + "/" + year; 

    Intent dategraphintent = new Intent(CheckByDate.this, DateGraph.class); 
    dategraphintent.putExtra("date", date); 
    startActivity(dategraphintent); 
} 

Тогда, в моем DateGraph.java, я ставлю что-то вроде этого

public Intent getIntent(Context context) 
{ 
    String date; 
    date = getIntent().getStringExtra("date"); 
     . 
     . 
     . 
     . //This is where the date will interact with my web service, then receive 
     . //an array set of values, and plot as a graph 
     . 
     . 
} 

Но я понятия не имею, когда-либо я нажал на кнопку, он будет вынужден закрыть и я не получил никакого представления, какие-либо идеи? я попытался использовать ваш метод, или, может быть, я совершил некоторые глупые ошибки? Пожалуйста, мне нужна ваша помощь ....

ответ

1

Вы определили свой метод

public Intent getthisIntent(Context context) {} 

с одним аргументом, и вы называете это без парам

getthisIntent(); 

Вы должны использовать

getthisIntent(YourActivity.this); 



затем кнопка передает значения в новое намерение и запускает ее без наличия нового файла xxx.java?

Если вы не хотите иметь другой Activity так за то, что вы хотите использовать Intent? Это не имеет смысла. Если вы хотите вызвать новый Activity при нажатии на Button, вы должны использовать следующий фрагмент кода:

Intent i = new Intent(YourActivity.this, NewActivity.class); 
startActivity(i); 



У меня есть кнопка, и эта кнопка будет получить значения от EditText, после этого используя это значение для того чтобы начать новый Intent


gen.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      day = textDay.getText().toString(); 
      month = textMonth.getText().toString(); 
      year = textYear.getText().toString(); 
      date = day + "/" + month + "/" + year; 
      Intent i = new Intent(YourActivity.this, NewPlotActivity.class); 
      i.putExtra("date", date); 
      startActivity(i); // this will start new Activity where you plot a graph. 
     } 

Тогда в вашем NewPlotActivity вы можете получить данные с getIntent().getStringExtra("date");


Примечание: Не забудьте добавить <activity android:name=".NewPlotActivity"></activity> к вашему Manifest.xml

+0

Но намерение будет начато только при нажатии кнопки, как я могу подключиться к кнопке? – Derek

+0

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

+0

Привет, вы можете увидеть мое последнее редактирование? Im все еще посередине моря. – Derek

0

Вы Нарушение вашей подписи метода !!, вызов вашего метода с помощью контекстного объекта, использование:

getthisIntent(YourActivity.this); 
getthisIntent(getApplicationContext()); 
Смежные вопросы