次のコードでURLから画像を取得する簡単なアプリケーションを構築しようとしていますが、findViewById(FloatingActionButton)
エラーで適切なメソッドが見つからない場合は、 ほとんどのコードは、アンドロイドスタジオのbiolerplate for basic activity
ですが、とにかく誤動作したコードを見つけることができません。findViewById(FloatingActionButton)の適切なメソッドが見つかりません
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import static singh.rahul.com.imagedownloader.R.id.fab;
public class MainActivity extends AppCompatActivity {
ImageView imgDownloaded;
public void DownloadImage(View v){
ImageDownloaderClass task=new ImageDownloaderClass();
Bitmap myRawImage;
try{
myRawImage=task.execute("Any Image URL").get();
imgDownloaded.setImageBitmap(myRawImage);
}catch(Exception e){
e.printStackTrace();
}
}
public class ImageDownloaderClass extends AsyncTask<String,Void,Bitmap>{
@Override
protected Bitmap doInBackground(String... urls){
try{
URL url=new URL(urls[0]);
HttpURLConnection connections=(HttpURLConnection) url.openConnection();
connections.connect();
InputStream is=connections.getInputStream();
Bitmap theBitmap= BitmapFactory.decodeStream(is);
return theBitmap;
}catch (MalformedURLException mue){
mue.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
imgDownloaded=(ImageView) findViewById(R.id.imageView);
FloatingActionButton fab = (FloatingActionButton) findViewById(fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Downloading Image...", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
DownloadImage(View);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
助けを楽しみにしています!
'FloatingActionButton FAB =(FloatingActionButton)findViewById(FAB);' –
は 'FloatingActionButton FAB =(FloatingActionButton)findViewById(R.id.fab)を交換'主に意見-based' –
を閉じるために、投票、働い ' –