我在 Android Developer 中四处阅读,但我并不完全理解这 3 个“想法”:
1) 上下文
2)建设者
3) 服务
以及它们之间的关系如何?
我看到例如:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(context)
而且我并没有确切地了解每个“想法”的一般目的。
我不知道怎么做.setParentLayout( getWindow() .getDecorView()) 我正在使用一个库来制作教程气泡,当用户长按 gridView 的项目时,气泡就会出现。问题是我不知道如何放置 context.getWindow() 或类似的东西,我不知道在 getWindow() 之前应该是什么。
GridView_Adapter.class
package es.fingerlabs.gamecohol;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.lovoo.tutorialbubbles.TutorialScreen;
import com.michael.easydialog.EasyDialog;
import java.util.ArrayList;
public class AdaptadorSobres extends BaseAdapter {
private Context context;
private ArrayList<Sobre> misSobres = new ArrayList<Sobre>();
private TutorialScreen botonTutorial;
private View gridView;
public AdaptadorSobres(ArrayList<Sobre> list, Context context) {
this.misSobres = list;
this.context = …Run Code Online (Sandbox Code Playgroud) 可能重复:
Android:线程中的Toast
我正在尝试使用标准方法在线程内显示Toast:
Toast.makeText(context, "Hello World!", Toast.LENGTH.SHORT).show();
Run Code Online (Sandbox Code Playgroud)
以正常方式,这是当然的工作.但是当我尝试从一个单独的线程调用时,我有一个例外:
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Run Code Online (Sandbox Code Playgroud)
我完全不知道这意味着什么.
我传递的上下文值是应用程序本身(应用程序继承自上下文)或Application.getApplicationContext().
顺便说一句,我也完全不知道为什么会有这个多余的东西.应用程序(它本身已经是一个Context)和Application.getApplicationContext().
我试图将Google地图加载到片段中.我不知道这三行应该是什么......(三行注释"问题!").
大多数例子在括号中使用"this".我知道这是一个片段,而不是一个活动,所以我用"getActivity()"代替.但是,如果我将所有三行更改为getActivity(),它也不起作用.请帮忙!提前致谢!
public class MapFragment extends Fragment implements OnMapReadyCallback,GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,com.google.android.gms.location.LocationListener {
private static final String TAG = "***MapFragment***";
private final int PERMISSION_CODE = 1;
private GoogleApiClient myGoogleApiClient;
private GoogleMap myMap;
private Location curLocation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_target, container, false);
// create api client
if (myGoogleApiClient == null) {
myGoogleApiClient = new GoogleApiClient.Builder(getActivity()) // problem!
.addConnectionCallbacks(this) // problem! …Run Code Online (Sandbox Code Playgroud) 哪个更有效getApplicationContext()或者这个(扩展活动)?为什么?
android ×4
adapter ×1
bubble-popup ×1
builder ×1
fragment ×1
google-maps ×1
gridview ×1
java ×1
toast ×1