1
문제가 해결되었지만 찾을 수 없으면 이미 확인했습니다.DrawerItemClickListener를 유형으로 확인할 수 없습니다. - Android 앱
DrawerItemClickListener를 사용하여 서랍 메뉴를 만들고 싶습니다.
나는 안드로이드 API (19)를 사용하고 4.4.2 가 여기 내 수입이다 : 나는 서랍에서 잘 작동 안드로이드 개발자 웹 사이트에서 샘플을 다운로드하기 때문에
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.app.SearchManager;
import android.content.res.Configuration;
import android.view.MenuInflater;
import android.widget.AdapterView;
import android.widget.Toast;
이 좀 이상해. 처음에 나는 좋은 도서관을 가지고 있지 않았지만 나의 샘플을 나의 것으로 바꿨다. 아무것도 바뀌지 않았다!
내가 대신 (I 다운로드 한 샘플 등)의 프레임 하나의 상대 레이아웃이public class MainActivity extends Activity {
final String TEST = "user_password";
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
private CharSequence mDrawerTitle;
private CharSequence mTitle;
private String[] mPlanetTitles;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RelativeLayout layout = (RelativeLayout) RelativeLayout.inflate(this, R.layout.fragment_main, null);
setContentView(layout);
TextView text = (TextView) layout.findViewById(R.id.textView1);
text.setText("Calculez votre IMC !");
Button b = (Button) layout.findViewById(R.id.button1);
final TextView text2 = (TextView) layout.findViewById(R.id.textView2);
final EditText poids = (EditText) layout.findViewById(R.id.editText1);
final EditText taille = (EditText) layout.findViewById(R.id.editText2);
b.setText("Calculez");
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String rawSize = taille.getText().toString();
Float p = Float.parseFloat(poids.getText().toString());
if (rawSize.indexOf(',') == -1 && rawSize.indexOf('.') == -1 && rawSize.length() == 3)
{
StringBuilder tmp = new StringBuilder();
tmp.append(rawSize.charAt(0));
tmp.append('.');
tmp.append(rawSize.charAt(1));
tmp.append(rawSize.charAt(2));
rawSize = tmp.toString();
}
if (rawSize.indexOf(',') != -1)
rawSize = rawSize.replace(',', '.');
Float t = Float.parseFloat(rawSize);
int res = (int) (p/Math.pow(t, 2));
text2.setText("Votre IMC est de : "+res);
}
});
final Button loginButton = (Button) findViewById(R.id.button2);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra(TEST, poids.getText().toString());
startActivity(intent);
}
});
mTitle = mDrawerTitle = getTitle();
mPlanetTitles = getResources().getStringArray(R.array.planets_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
// set a custom shadow that overlays the main content when the drawer opens
//mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
// set up the drawer's list view with items and click listener
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mPlanetTitles));
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
// enable ActionBar app icon to behave as action to toggle nav drawer
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
// ActionBarDrawerToggle ties together the the proper interactions
// between the sliding drawer and the action bar app icon
mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
R.string.drawer_open, /* "open drawer" description for accessibility */
R.string.drawer_close /* "close drawer" description for accessibility */
) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
내가 그 문제를 해결하는 방법을 모른다
... 그러나 나는이 일을하지 않는 그것은이다 문제.
프로젝트에 android-support-v4 라이브러리가 포함되어 있습니까? – shkschneider
나는 그렇게 생각한다. 내가 "안드로이드 개인 라이브러리"에서 일식을 간다면, android-support-v4가 있습니다. – user3561383
'DrawerItemCLickListener'라는 클래스가 있습니까 – Raghunandan