2017-04-06 27 views
-2

这是我的第一篇文章。我使用了搜索功能并找不到完整的答案,所以我希望这不是一个多余的问题。 我应该注意到,我对编码真的很陌生,所以也许我找到了答案但没有意识到它。上下文Toast.maketext中的参数()

我已经在课堂上要求我在下面的代码中找到两种不同的方式来填充参数。

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button button = (Button)findViewById(R.id.button); 
    button.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    Toast.makeText(???,"Clicked!", Toast.LENGTH_LONG).show();  

第一方式,我想是toast.makeText(MainActivity.this.getActivity(),...)表示();

第二个?

+0

您可以使用该视图的上下文。 – njzk2

+0

至于如何解决这样的问题:你正在寻找一个上下文。查看范围内的所有对象(这里主要是'this'和'v'),并查看哪些扩展上下文以及哪些具有返回上下文的方法。 – njzk2

+0

'v.getContext()','getApplicationContext()'等... – rafsanahmad007

回答

0

使用MainActivity上下文。

Toast.makeText(MainActivity.this,"Clicked!", Toast.LENGTH_LONG).show();  
+0

因此MainActivity.this和MainActivity.this.getActivity都正确吗? –

相关问题